【问题标题】:Can I use Excel INDIRECT function to run a formula contained as text in a reference cell?我可以使用 Excel INDIRECT 函数来运行作为文本包含在参考单元格中的公式吗?
【发布时间】: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


    【解决方案1】:

    您不需要所有这些。此公式将替换所有查找表:

    =DATE(D1,MONTH(C1 & 1),1+A1*7) - WEEKDAY(DATE(D1,MONTH(C1 & 1),8-MATCH(B1,{"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"},0)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      相关资源
      最近更新 更多