在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]中的预测/实际值。)?
考虑以下示例并修改它以满足您的需求:
本示例中按月和年筛选的值分别位于单元格
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)
即可获得相同的结果。