Dynamically change the number of days in a month for dropdown
必须在没有VBA的情况下完成。
我有一个月的清单要填写在一个单元格中,比如a1。可以使用数据验证列表(=months)填充选项,该列表会导致下拉列表出现在A1中。在单元格b1中,我输入年份号(例如2000)。现在,我希望c1包含一个下拉列表,其中的条目根据a1和b1中的数据变化。在我的示例中,A1提供了1月、2月、3月、4月、5月、6月、7月、8月、9月、10月、11月和12月选项。
如果我选择1月、3月、5月、7月、8月、10月或12月(有31天的月份),我应该在C1中选择1到31之间的数字。
如果我选择4月、6月、9月或11月(30天的月份),我应该在c1中得到1到30之间的数字作为选项。
如果我选择二月,我必须首先使用以下公式检查年份是否为闰年:
1 | =((MOD(B1;4)=0)*((MOD(B1;100)<>0)+(MOD(B1;400)=0))=1) |
根据这个公式的结果(对或错),我应该得到1到28之间的数字(如果是闰年,则为29),作为C1中的一个选项。
我已经创建了名为days30、days31、days28和days29的列表。如何使用数据验证在c1的下拉列表之间切换??我正在尝试将此逻辑转换为数据验证公式,但没有运气:
1 2 3 4 5 6 7 8 9 | If (A1 ="april" OR A1 ="june" OR A1 ="september" OR A1 ="november") Then Days30 ElseIf (A1 ="february" AND leapyear = 1) Then Days29 ElseIf (A1 ="february" AND leapyear = 0) Then Days28 Else Days31 End if |
填到Z31。
您的结果应该类似于以下内容。
&号