Google Sheets 查找指定单元格区域内某值的首次及末次出现日期
Google Sheets查询餐食首次/末次供应日期实现方案
首先明确参考数据范围约定(你可以根据自己的实际表格调整对应范围):
- 原始表日期表头行:
B1:Z1(为连续的日期格式单元格) - 原始表餐食数据区域:
B2:Z100(行对应不同食堂网点,列对应不同日期,值为当日供应餐食名称) - 查询表结构:A列为待查询的餐食名称,B列输出首次供应日期,C列输出末次供应日期
具体公式
首次供应日期公式
在查询表对应餐食的首次日期单元格输入以下公式,可下拉批量应用到所有餐食行:
=IFERROR(INDEX($B$1:$Z$1,XMATCH(TRUE,BYCOL($B$2:$Z$100,LAMBDA(col,COUNTIF(col,A2)>0)),0,1)),"无供应记录")
公式逻辑:遍历每一列的所有餐食数据,判断该日期下是否供应目标餐食,从左到右找到第一个符合条件的列,返回对应列的日期值。
末次供应日期公式
在查询表对应餐食的末次日期单元格输入以下公式,可下拉批量应用到所有餐食行:
=IFERROR(INDEX($B$1:$Z$1,XMATCH(TRUE,BYCOL($B$2:$Z$100,LAMBDA(col,COUNTIF(col,A2)>0)),0,-1)),"无供应记录")
公式逻辑:和首次供应逻辑一致,仅将XMATCH的查找顺序改为从右往左,即可得到最后一次符合条件的日期。
注意事项
- 请将公式中的
$B$1:$Z$1、$B$2:$Z$100替换为你自己表格的实际数据范围 - 公式依赖Google Sheets的LAMBDA系列函数,若使用旧版本无法运行,升级到最新版本即可正常使用
内容的提问来源于stack exchange,提问作者NewUser
相关产品推荐
相关产品推荐

