【问题标题】:Get cell value based on current month根据当前月份获取单元格值
【发布时间】:2020-09-17 12:07:53
【问题描述】:

我正在尝试根据其他单元格值设置当前行/单元格的值。

带有“c”的行设置为当前月份 (=IF(d1=TEXT(TODAY();"MMM");"c";""))

    A   B   C   D   E   F   G
1               c
2      JAN FEB MAR APR MAY
3       32  34  23  22  44
4  33   22  25  33  44  22
5       12  12  33  32  32

因此,就在(每行)“当前月份”下方,我想在第一行出现“c”的单元格中获取相应的值。

在图片示例中,因为“c”在D列,所以设置的数字是33(D列第4行的值)

任何人 - 单元格“33”中的公式是什么?

【问题讨论】:

  • 这通常是 (H/V/X)LOOKUP 任务或 INDEX/MATCH。如果您有 markdown 示例数据,人们会更容易帮助您。
  • 以另一种方式添加数据 - 更好?

标签: excel excel-formula


【解决方案1】:

假设您的月份名称的格式类似于TEXT(TODAY();"MMM") 给出的格式,您可以输入类似=XLOOKUP(TEXT(TODAY();"MMM");$B$3:$M$3;$B4:$M4;"no match") 的格式。

如果您查看XLOOKUP's documentation,您会看到第一个参数是要搜索的文本,第二个参数是要搜索的范围,第三个参数是要从中返回结果的范围。第四个参数不是绝对必要的,但是如果没有匹配则返回值。

在下面的截图中,我把=TEXT(TODAY();"mmm") 放在A3 中,公式=XLOOKUP($A$3;$B$3:$M$3;$B4:$M4;"no match") 放在A4 单元格中,然后把它复制下来。

我将=TEXT(TODAY();"mmm") 放在自己的单元格中的原因是它是a volatile function,所以我不希望它出现在太多的公式中。

【讨论】:

    【解决方案2】:

    我只是有一个简单的解决方案:

    =IF($H$3="c";H6;IF($I$3="c";I6;IF($J$3="c";J6;IF($K$3="c";K6;IF($L$3="c";L6;IF($M$3="c";M6;IF($N$3="c";N6;IF($O$3="c";O6;IF($P$3="c";P6;IF($Q$3="c";Q6;IF($R$3="c";R6;IF($S$3="c";S6;"None"))))))))))))
    

    一个漫长且不那么聪明的解决方案..但仍然..一个解决方案;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多