کندیس یک کاربرگ دارد که در آن 12 علامت زودیاک (دلو تا برج جدی) را نشان می دهد. شیس نام این محدوده 12 سلولی را "نشانه ها" گذاشت. کندیس می خواهد در سلول A3، شخصی تاریخ تولد را وارد کند و علامت زودیاک را برای آن تاریخ در سلول B3 نشان دهد. از آنجایی که محدوده تاریخ برای علائم زودیاک با ماه های واقعی مطابقت ندارد، کندیس در یافتن نحوه تنظیم کاربرگ برای برگرداندن آسان علامت صحیح بر اساس تاریخ تولد، مشکل دارد.
در تنظیم کاربرگ، دو ستون وجود دارد که باید از آنها استفاده شود - نام علامت زودیاک و تاریخ شروع آن علامت. همچنین درک این نکته مهم است که شما واقعاً برای هر علامت به تاریخ کامل نیاز ندارید زیرا سال مهم نیست. ماه و روز آغاز سال به سال یکسان است. این بدان معنی است که جدول داده های شما می تواند فقط یک نشانگر از ماه و روز آغاز برای هر علامت داشته باشد. یک راه مفید برای انجام این کار در این طرح نشان داده شده است. (شکل 1 را ببینید.)

شکل 1. تنظیم داده های زودیاک.
توجه داشته باشید که ستون Date از عدد ماه و به دنبال آن یک روز دو رقمی از ماه تشکیل شده است. همچنین توجه داشته باشید که برج جدی دو بار در جدول قرار دارد، زیرا تاریخ های آغاز و پایان سال را پوشش می دهد. اگر محدوده داده (D2:E14) را به عنوان محدوده "Signs" تعریف کنید، می توانید از این فرمول برای برگرداندن یک علامت با توجه به تاریخ تولد استفاده کنید:
=VLOOKUP(MONTH(A3)*100+DAY(A3),Signs,2,TRUE)
با تاریخ تولد در سلول A3، فرمول مقدار ماه را می گیرد، آن را در 100 ضرب می کند و سپس روز ماه را اضافه می کند. سپس این به عنوان مقدار VLOOKUP در محدوده Signs استفاده می شود و مقدار مربوطه در ستون 2 آن محدوده برگردانده می شود.
اگر حتی نمی خواهید از یک جدول داده استفاده کنید، می توانید کل VLOOKUP را در یک فرمول متراکم کنید:
=IF(ISBLANK(A3),"",VLOOKUP((MONTH(A3)*100+DAY(G2)),{0,"Capricorn";120,"Aquarius";219,"Pisces";321,"Aries";420,"Taurus";521,"Gemini";621,"Cancer";723,"Leo";823,"Virgo";923,"Libra";1023,"Scorpio";1122,"Sagittarius";1222,"Capricorn"},2,TRUE))
اگر از اکسل 2007، اکسل 2010، اکسل 2013، اکسل 2016 یا اکسل 2019 استفاده می کنید، باید این فرمول را با استفاده از Ctrl+Shift+Enter به عنوان یک فرمول آرایه وارد کنید .
اگر ترجیح می دهید یک نتیجه مبتنی بر کلان بگیرید (که نیاز به جدول داده را نیز برطرف می کند)، می توانید یک تابع تعریف شده توسط کاربر مانند موارد زیر ایجاد کنید:
Function GetSign(d As Date) As String
Dim sZodiac As String
Select Case Month(d)
Case 1
sZodiac = "Capricorn"
If Day(d) >= 20 Then sZodiac = "Aquarius"
Case 2
sZodiac = "Aquarius"
If Day(d) >= 19 Then sZodiac = "Pisces"
Case 3
sZodiac = "Pisces"
If Day(d) >= 21 Then sZodiac = "Aries"
Case 4
sZodiac = "Aries"
If Day(d) >= 20 Then sZodiac = "Taurus"
Case 5
sZodiac = "Taurus"
If Day(d) >= 21 Then sZodiac = "Gemini"
Case 6
sZodiac = "Gemini"
If Day(d) >= 21 Then sZodiac = "Cancer"
Case 7
sZodiac = "Cancer"
If Day(d) >= 23 Then sZodiac = "Leo"
Case 8
sZodiac = "Leo"
If Day(d) >= 23 Then sZodiac = "Virgo"
Case 9
sZodiac = "Virgo"
If Day(d) >= 23 Then sZodiac = "Libra"
Case 10
sZodiac = "Libra"
If Day(d) >= 23 Then sZodiac = "Scorpio"
Case 11
sZodiac = "Scorpio"
If Day(d) >= 22 Then sZodiac = "Sagittarius"
Case 12
sZodiac = "Sagittarius"
If Day(d) >= 22 Then sZodiac = "Capricorn"
End Select
GetSign = sZodiac
End Function
برای استفاده از ماکرو، در کاربرگ خود می توانید موارد زیر را وارد کنید:
=GetSign(A3)
در صورتی که سلول A3 حاوی تاریخ باشد، ماکرو علامت زودیاک را برای آن تاریخ برمی گرداند.
در نهایت، برای ایده های بیشتر در مورد حل مشکل Candices، می توانید به صفحه وب زیر مراجعه کنید:
https://exceljet.net/formula/zodiac-sign-lookup