簡體   English   中英

我可以使用Excel INDIRECT函數運行引用單元格中包含為文本的公式嗎?

[英]Can I use Excel INDIRECT function to run a formula contained as text in a reference cell?

我正在嘗試創建一個動態表單,該表單將基於“年,月,月的第N天”(例如,“ 2018年1月的第三個星期一”)的輸入返回日期。

這些是我的清單:

+-----+--------------+-----------+---------------+-------------------+-----------+-----------------+
| 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,”)“)

在包含此文本的單元格中產生結果,該單元格看起來像公式,但不會運行。

=日期(2018,1,1)+14+選擇(工作日(日期(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!

您不需要所有這些。 此公式將替換所有查找表:

=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)))

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM