excel 对带有文本选项的水平下拉列表求和

bnlyeluc  于 2023-05-30  发布在  其他
关注(0)|答案(1)|浏览(142)

我有一个包含员工姓名和月份的表。每天都有一个下拉列表,其中包含“办公室”,“假期”,“远程工作”等选项。我的目标是总结每种选择的天数

我也有另一个选项名称和它们的数值表

我对AH2使用的公式:SUMIF(C2:AG2, Locations!A2, Locations!C2)工作正常,但仅适用于前3个下拉窗口(C、D、E列)。更改F:AG列中的选项不会更新相应的总计
怎么解决?

eblbsuwk

eblbsuwk1#

如果您有MS365Excel 2021,则可以使用XLOOKUP()为每个Location Code提取Increment Value,然后将其与COUNTIF()函数相乘以获得所需的输出。

·单元格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()函数,那么我们可以避免重复公式中的范围,并且更容易阅读。

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

如果你没有使用MS365Excel 2021,那么你可以尝试使用它与SUMIFS() + COUNTIFS()INDEX()MATCH()

·单元格AH2中使用的公式

=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()的另一种替代方案

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

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

上面显示的所有公式方法都需要相应地填写并填写正确,也可以根据您的西装更改范围。

相关问题