我有一个包含员工姓名和月份的表。每天都有一个下拉列表,其中包含“办公室”,“假期”,“远程工作”等选项。我的目标是总结每种选择的天数
我也有另一个选项名称和它们的数值表
我对AH2使用的公式:SUMIF(C2:AG2, Locations!A2, Locations!C2)工作正常,但仅适用于前3个下拉窗口(C、D、E列)。更改F:AG列中的选项不会更新相应的总计怎么解决?
SUMIF(C2:AG2, Locations!A2, Locations!C2)
eblbsuwk1#
如果您有MS365或Excel 2021,则可以使用XLOOKUP()为每个Location Code提取Increment Value,然后将其与COUNTIF()函数相乘以获得所需的输出。
MS365
Excel 2021
XLOOKUP()
Location Code
Increment Value
COUNTIF()
·单元格AH2中使用的公式
AH2
=XLOOKUP(" "&AH$1&" *"," "&$B$6:$B$8&" ",$C$6:$C$8,,2)* COUNTIF(C2:AG2,XLOOKUP(" "&AH$1&" *"," "&$B$6:$B$8&" ",$A$6:$A$8,,2))
在上面的XLOOKUP()公式中,我使用通配符匹配模式,因为根据您的屏幕截图,AI1单元格仅显示Remote,而在其他工作表中显示为Remote Work另外,如果你使用LET()函数,那么我们可以避免重复公式中的范围,并且更容易阅读。
AI1
Remote
Remote Work
LET()
=LET(x,$C$6:$C$8,y,$A$6:$A$8,z,$B$6:$B$8, XLOOKUP(" "&AH$1&" *"," "&z&" ",x,,2)* COUNTIF(C2:AG2,XLOOKUP(" "&AH$1&" *"," "&z&" ",y,,2)))
如果你没有使用MS365或Excel 2021,那么你可以尝试使用它与SUMIFS() + COUNTIFS()与INDEX()和MATCH()
SUMIFS()
COUNTIFS()
INDEX()
MATCH()
=SUMIFS($C$6:$C$8,$B$6:$B$8,AH$1&"*")* COUNTIFS($C2:$AG2,INDEX($A$6:$A$8,MATCH(" "&AH$1&" *"," "&$B$6:$B$8&" ",0)))
使用FILTER()和COUNTIFS()的另一种替代方案
FILTER()
=LET(x,FILTER(HSTACK($A$6:$A$8,$C$6:$C$8),ISNUMBER(SEARCH(AH$1,$B$6:$B$8))), y,COUNTIFS($C2:$AG2,TAKE(x,,1)), SUM(y*TAKE(x,,-1)))
使用BOOLEAN逻辑代替上述公式中的COUNTIFS()
BOOLEAN
=LET(x,FILTER(HSTACK($A$6:$A$8,$C$6:$C$8),ISNUMBER(SEARCH(AH$1,$B$6:$B$8))), y,SUM(--($C2:$AG2=TAKE(x,,1))),SUM(y*TAKE(x,,-1)))
上面显示的所有公式方法都需要相应地填写并填写正确,也可以根据您的西装更改范围。
1条答案
按热度按时间eblbsuwk1#
如果您有
MS365
或Excel 2021
,则可以使用XLOOKUP()
为每个Location Code
提取Increment Value
,然后将其与COUNTIF()
函数相乘以获得所需的输出。·单元格
AH2
中使用的公式在上面的
XLOOKUP()
公式中,我使用通配符匹配模式,因为根据您的屏幕截图,AI1
单元格仅显示Remote
,而在其他工作表中显示为Remote Work
另外,如果你使用
LET()
函数,那么我们可以避免重复公式中的范围,并且更容易阅读。如果你没有使用
MS365
或Excel 2021
,那么你可以尝试使用它与SUMIFS()
+COUNTIFS()
与INDEX()
和MATCH()
·单元格
AH2
中使用的公式使用
FILTER()
和COUNTIFS()
的另一种替代方案使用
BOOLEAN
逻辑代替上述公式中的COUNTIFS()
上面显示的所有公式方法都需要相应地填写并填写正确,也可以根据您的西装更改范围。