Excel:如何使用列值作为搜索参数来执行 XLOOKUP

问题描述 投票:0回答:1

在Excel中,我有下表:

年份 项目ID 1-23 2-23 ...12-23
10 2023 14404 210 美元 $630 $3000
10 2023 15023 $250 $420 $5000

表中的每月栏代表全年(1-23 至 12-23)每个项目的每月预测/实际值。月份和年份列代表检索数据的月份,它们每月都会更新,看起来像这样:

年份 项目ID 1-23 2-23 ...11-23 12-2023
11 2023 14404 210 美元 $630 $450 $3000
11 2023 15023 $250 $420 $500 $5000

假设我想使用

xlookup
函数搜索特定月份和年份的预测/实际值。使用月份和年份列(可能会发生变化),如何执行
xlookup
来搜索我所在月份的每月实际/预测(即,如果月份为“11”,年份为是“2023”,我想获取每个项目的[11-23]中的预测/实际值。)?

excel datatables transpose xlookup
1个回答
0
投票

考虑以下示例并修改它以满足您的需求:

本示例中按月和年筛选的值分别位于单元格

A8
B8
中,单元格
A10
中使用的公式为:

=LET(
   val, TEXT(DATE(B8, A8, 1), "m-yy"),
   hdr, HSTACK(A1:C1, val),
   arr, HSTACK(A2:C5, XLOOKUP(val, TEXT(D1:O1, "m-yy"), D2:O5)),
   VSTACK(hdr, FILTER(arr, (INDEX(arr,, 1)=A8)*(INDEX(arr,, 2)=B8)))
)

此公式假定标题范围

D1:O1
中的值是应用了自定义格式“m-yy”的日期。
TEXT
函数用于将值转换为文本字符串,因此
XLOOKUP
函数可以返回匹配项。

如果标题范围

D1:01
中的值已经是文本,则只需使用
XLOOKUP(val, D1:O1, D2:O5)
即可获得相同的结果。

© www.soinside.com 2019 - 2024. All rights reserved.