You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Excel按同一条件查找不同值?求适用公式

Excel公式实现跨表横向匹配需求

示例数据

Sheet1 - Kollekte Ontvang

列1          列2          列3
日期        ProjectCodes  Amount

01/11/2024   G172          1000
01/12/2024   G172          1100
01/10/2025   G172          1150

Sheet2(目标输出表)

列1    列2   列3   列4
G172   1000  1100  1150

需求

需要用Excel公式将Sheet1中ProjectCodes为G172的Amount值,按日期对应关系横向填充到Sheet2的指定列中。

已尝试的公式

  • 公式1:
=IFERROR(XLOOKUP(L$2&$C3,'KOLLEKTE ONTVANG'!$E:$E&'KOLLEKTE ONTVANG'!$H:$H,'KOLLEKTE ONTVANG'!$S:$S),0)
  • 公式2:
=SUMIFS('KOLLEKTE ONTVANG'!$S:$S,'KOLLEKTE ONTVANG'!$E:$E,S$2,'KOLLEKTE ONTVANG'!$H:$H,Opsomming!$C3,'KOLLEKTE ONTVANG'!$A:$A,">=01/10/2024",'KOLLEKTE ONTVANG'!$A:$A,"<=28/02/2025")

解决方案

根据需求,推荐以下两种适配不同Excel版本的方案:

方案1:INDEX+MATCH(兼容旧版Excel)

假设Sheet2中G172在单元格A2,需在B2、C2、D2分别提取对应日期的Amount值:

  • B2(匹配01/11/2024的Amount):
=INDEX('KOLLEKTE ONTVANG'!$C:$C,MATCH(1,('KOLLEKTE ONTVANG'!$B:$B=$A2)*('KOLLEKTE ONTVANG'!$A:$A=DATE(2024,11,1)),0))
  • C2(匹配01/12/2024的Amount):
=INDEX('KOLLEKTE ONTVANG'!$C:$C,MATCH(1,('KOLLEKTE ONTVANG'!$B:$B=$A2)*('KOLLEKTE ONTVANG'!$A:$A=DATE(2024,12,1)),0))
  • D2(匹配01/10/2025的Amount):
=INDEX('KOLLEKTE ONTVANG'!$C:$C,MATCH(1,('KOLLEKTE ONTVANG'!$B:$B=$A2)*('KOLLEKTE ONTVANG'!$A:$A=DATE(2025,10,1)),0))

注意:旧版Excel需按Ctrl+Shift+Enter作为数组公式输入

方案2:XLOOKUP/FILTER(Excel 365/2021及以上版本)

场景1:Sheet2列标题为对应日期

若Sheet2的B1、C1、D1分别为01/11/2024、01/12/2024、01/10/2025,可在B2输入通用公式后向右拖拽:

=XLOOKUP(1,('KOLLEKTE ONTVANG'!$B:$B=$A2)*('KOLLEKTE ONTVANG'!$A:$A=B$1),'KOLLEKTE ONTVANG'!$C:$C,0)

场景2:按顺序提取该项目所有Amount值

无需日期标题,直接按Sheet1中该项目的Amount顺序横向填充:
在B2输入公式后向右拖拽:

=INDEX(FILTER('KOLLEKTE ONTVANG'!$C:$C,'KOLLEKTE ONTVANG'!$B:$B=$A2),COLUMN(A:A))

内容的提问来源于stack exchange,提问作者Johan Coetzer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 11:28:10