【问题标题】:Mining for dates with HLOOKUP-formula使用 HLOOKUP 公式挖掘日期
【发布时间】:2020-05-12 16:58:51
【问题描述】:

我有一个谷歌表格,我认为我需要在其中使用 HLOOKUP 功能。然而,我没有足够的知识来实现​​它。
我有一张大表,我想从“SW”或“SWF”收集开始日期。 在单元格 B2:HB2 中,我的日期格式正确。 在单元格 B5:HB5 中,我有带有“SW”、“W”、“SWF”和“WF”的文本。

如果公式找到“SW”或“SWF”,我希望它在同一列上给出日期。 因此,如果公式在单元格 D5 中找到“SW”,我希望它显示 D2 中的日期。
我希望有人知道制作这个公式并帮助我理解它=)

一个副本,绿色区域是我希望在单元格HC和HD中实现的。 https://docs.google.com/spreadsheets/d/1wTShC1l-5PHMVeObnJQuwX1zJ4WKhJ3Vmh0hYAXo1eg/edit?usp=sharing

SW:开始工作
女:工作
SWF:开始工作完成
WF:工作完成

【问题讨论】:

  • 请分享您的电子表格副本,不包括私人或机密信息,并附上成功结果的示例。
  • 给你; docs.google.com/spreadsheets/d/… 在 HC 和 HD 单元格中,您可以看到我想要自动实现的目标。

标签: google-sheets lookup


【解决方案1】:

HLOOKUP() 函数的一个缺点是“范围中的第一行”用于匹配键。换句话说,您的日期行应该是HLOOKUP() 范围内的一部分它必须是在该范围内的第一行

所以我的建议是将日期列移到你所有的名字下面。或者以您的名义复制一份,以免失去可读性。

延伸阅读:HLOOKUP()

【讨论】:

  • 谢谢。我可以在底部复制日期,这是在第 83 行。公式看起来如何?作为公式中的菜鸟,不幸的是,帮助页面对我没有多大帮助。
    没关系,我找到了。谢谢!
【解决方案2】:

开始:=INDIRECT(ADDRESS(ROW($B$2),match("SW",A5:HB5,0)))

完成:=INDIRECT(ADDRESS(ROW($B$2),match("SWF",A5:HB5,0)))


我不认为HLOOKUP(或任何类型的查找)是正确的函数,因为这些函数专注于评估范围最左侧列中的值。

在这个答案中,使用了三个函数:

  • INDIRECT
  • ADDRESS
  • MATCH

搜索“SW”
获取列match("SW",A5:HB5,0):match 函数“返回与指定值匹配的范围内项目的相对位置。”在这种情况下,它返回找到“SW”的列号。

获取行ADDRESS(ROW($B$2):所有相关日期都在第 2 行,并且可以通过评估找到单元格 B2 所在的行来重新计算该值。

获取日期INDIRECT(ADDRESS(ROW($B$2),match("SW",A5:HB5,0))) 合并行的列,并返回在该地址找到的值。

【讨论】:

  • 啊,这把戏更容易了。非常感谢,泰迪诺兹!
猜你喜欢
  • 1970-01-01
  • 2017-04-07
  • 2019-12-11
  • 1970-01-01
  • 2016-04-06
  • 1970-01-01
  • 2013-07-21
  • 2011-11-12
  • 2016-07-26
相关资源
最近更新 更多