基于日期条件修改Excel LET函数公式的技术求助
修改后的Excel公式及说明
基础版公式(假设日期列是A列)
=SORT(LET( filtered_data, FILTER(A2:J5140, A2:A5140=B5144), unique_items, UNIQUE(INDEX(filtered_data, , 4)), total_sums, SUMIFS(INDEX(filtered_data, , 10), INDEX(filtered_data, , 4), unique_items), CHOOSE({1,2}, unique_items, total_sums) ))
带空值判断的版本(避免无日期输入时出错)
=IF(B5144="", "请输入日期", SORT(LET( filtered_data, FILTER(A2:J5140, A2:A5140=B5144), unique_items, UNIQUE(INDEX(filtered_data, , 4)), total_sums, SUMIFS(INDEX(filtered_data, , 10), INDEX(filtered_data, , 4), unique_items), CHOOSE({1,2}, unique_items, total_sums) )))
关键修改点说明
- 新增
FILTER函数:根据单元格B5144的日期,筛选出所有日期匹配的完整记录(这里默认日期列是A列,如果你的日期在其他列,把公式里的A2:A5140=B5144替换成对应列的范围,比如日期在C列就改成C2:C5140=B5144) - 用
LET封装筛选后的数据为filtered_data,后续操作都基于筛选后的数据集,避免重复计算 INDEX(filtered_data, , 4):从筛选后的数据中提取原D列(第4列)的内容,INDEX(filtered_data, , 10)提取原J列(第10列)的内容,确保汇总仅针对符合日期条件的记录- 保留原有的
UNIQUE+SUMIFS逻辑,实现按D列唯一值汇总J列数据,最后用SORT排序输出
内容的提问来源于stack exchange,提问作者soldier2gud4me
相关产品推荐
相关产品推荐

