根据行列格值双向查询 Excel 交叉表

例题描述和简单分析

有 Excel 文件 book1.xlsx,如下所示:


A

B

C

D

1

name

b



2

date

2000/1/2



3

price




4





5





6

date/price

a

b

c

7

2000/1/1

1

2

3

8

2000/1/2

4

5

6

9

2000/1/3

7

8

9

10

2000/1/4

10

11

12

11

2000/1/5

13

14

15

12

2000/1/6

16

17

18

现需要根据 B1 中的 name 值和 B2 中的 date 值,在 A6:D12 区域的数据表中找到对应的 price 填入 B3。例如,当 B1 为 b,B2 为 2000/1/2 时,计算出 B3 为 5,结果如下:


A

B

C

D

1

name

b



2

date

2000/1/2



3

price

5



4





5





6

date/price

a

b

c

7

2000/1/1

1

2

3

8

2000/1/2

4

5

6

9

2000/1/3

7

8

9

10

2000/1/4

10

11

12

11

2000/1/5

13

14

15

12

2000/1/6

16

17

18

解法及简要说明

Excel中加载插件 ExcelRaq.xll 后。

在 B3 格输入公式:=esproc("=?1.concat@nc().import@tc().select(#1==?2).field(?3)",A6:D12,B2,B1),即可实现需求。

问答搜集

https://stackoverflow.com/questions/63655576/return-a-value-based-on-multiple-conditions-in-excel