在数组中查找日期范围 - Excel
问题描述:
挑战是:如果假期日期($ F)介于(A2:B2,A3:B3等)之间,我想将假日名称($ G相关原因列$ D &计数$ H到关联的$ C列)在数组中查找日期范围 - Excel
例如:假期'17在10/15/17 5天,因为它落在10/3/17 & 10/16/17数据将被复制到$ C和$ D列......我该怎么做?
答
您可以使用这两个数组公式(点击按Ctrl + Shift + 输入一起):
从cell C2
:
=IFERROR(INDEX($H$2:$H$11,SMALL(IF((A2<=$F$2:$F$11)*(B2>=$F$2:$F$11)>0,ROW($F$2:$F$11)-ROW($F$1),""),1)),0)
从cell D2
:
=IFERROR(INDEX($G$2:$G$11,SMALL(IF((A2<=$F$2:$F$11)*(B2>=$F$2:$F$11)>0,ROW($F$2:$F$11)-ROW($F$1),""),1)),"")
什么这两个公式做的是找到的第一个匹配和返回值。
此外,我注意到您的C9 and D12
与我的结果不同。不知道什么是错的,但我猜这是由于你在这里发布的样本数据。无论如何,请尝试让我知道。
答
在C2将这个复制跨到D2,然后复制下来:
=IFERROR(INDEX(H$2:H$4, POWER(SQRT(MAX(IF($F$2:$F$4-$A2>=0, IF($F$2:$F$4-$B2<=0, ROW($F$2:$F$4)-ROW($F$1))))-1), 2)+1), "")
发现价值这是惊人的!非常感谢你的帮助!! 这样的事情:我注意到与你同样的事情,但$ C返回一个计数,但它需要返回在$ H中找到的值(我的道歉,如果标签和我的解释不清楚) 也是我得到的唯一的单元格结果是C8和C9 ...所有其他人都是空的... - 看着数据,我可以合并彼此接近的日期 - 12/31/2017 - > 1 + 1/1/2018 - > 1成为一个12/31/2017 - > 2 – CocoaNewBee
我不确定,但如果您只添加此部分(A2 = $ F $ 2:$ F $ 11)到一个单独的单元格,Excel将它视为1:1关系。 A2 - > F2,A3 - > F3 ...因为在A12之后,我看到#VALUE! – CocoaNewBee
只要注意到你没有输入数组公式(完全单击“Ctrl + Shift + Enter”),你应该看到花括号会包含在公式中(参见我的图片)。此外,这些范围需要根据您的数据输入进行调整。我不推荐使用整列,因为它会减慢速度,但如果你没有太多的数据,你可以这样做。 – ian0411