【发布时间】:2018-10-26 15:47:31
【问题描述】:
我正在尝试创建一个动态表单,该表单将根据“月、年的第 N 周”格式的输入返回日期,例如“2018 年 1 月的第 3 个星期一”。
这些是我的清单:
+-----+--------------+-----------+---------------+-------------------+-----------+-----------------+
| Row | (A) Instance | (B) Instance Value | (C) DayofWeek | (D) DayofWeek Value | (E) Month | (F) Month Value |
+-----+--------------+-----------+---------------+-------------------+-----------+-----------------+
| 1 | 1st | 0 | Monday | 1,0,6,5,4,3,2 | January | 1 |
| 2 | 2nd | 7 | Tuesday | 2,1,0,6,5,4,3 | February | 2 |
| 3 | 3rd | 14 | Wednesday | 3,2,1,0,6,5,4 | March | 3 |
| 4 | 4th | 21 | Thursday | 4,3,2,1,0,6,5 | April | 4 |
| 5 | Last | | Friday | 5,4,3,2,1,0,6 | May | 5 |
| 6 | | | Saturday | 6,5,4,3,2,1,0 | June | 6 |
| 7 | | | Sunday | 0,6,5,4,3,2,1 | July | 7 |
| 8 | | | | | August | 8 |
| 9 | | | | | September | 9 |
| 10 | | | | | October | 10 |
| 11 | | | | | November | 11 |
| 12 | | | | | December | 12 |
+-----+--------------+-----------+---------------+-------------------+-----------+-----------------+
我使用查找公式来获取返回的任何响应的值
+---------+----------------------------------+-----------------------------------+----+--------------------------------+----+-------+
| | Instance | DayofWeek | in | Month | of | Year |
+---------+----------------------------------+-----------------------------------+----+--------------------------------+----+-------+
| Name | 3rd | Monday | | January | | 2018 |
| Value | 14 | 1,0,6,5,4,3,2 | | 1 | | |
| Formula | =VLOOKUP(Instance,B2:C5,2,FALSE) | =VLOOKUP(DayofWeek,D2:E8,2,FALSE) | | =VLOOKUP(Month,F2:G13,2,FALSE) | | =year |
+---------+----------------------------------+-----------------------------------+----+--------------------------------+----+-------+
现在我正在尝试将这些值连接到一个公式中
=CONCATENATE("=date(",year,",",Month,",1)+",Instance,"+choose(weekday(Date(",year,",",Month,",1 ),)),",DayofWeek,")")
生成一个包含此文本的单元格,该单元格看起来像一个公式,但不会运行。
=date(2018,1,1)+14+choose(weekday(Date(2018,1,1),)),1,0,6,5,4,3,2)
是否可以运行此公式并通过从另一个单元格间接调用它来返回值?
我尝试过的其他事情:
我这样做是因为我尝试了所有其他我能想到的方法来将 CHOOSE 数组复制到间接公式中,但每次都失败了。
我可以让这部分工作:
=DATE(year,Month,1)+Instance
这个用来显示数组
=INDIRECT("DayofWeek")
=N22&Chooseday solves as 43115+choose(weekday(Date(2018,1,1),)),1,0,6,5,4,3,2)
=DATE(year,Month,1)+occurrence+CHOOSE(WEEKDAY(DATE(year,Month,1),1),INDIRECT("G19")) 返回 #VALUE!
【问题讨论】:
标签: excel excel-formula