我在三个实体(表)之间有一个数据模型:
Field
Screen
Window
Window-Screen
具有多对多关系。因此,我定义了一个连接表 Screen_Window
,其中包含两个表的外键。
Screen-Field
是一对多的关系。因此,每个 Screen
都有很多 Fields。但是每个 Field
都属于一个 Screen
记录。
现在,我想构建一个将 Fields
连接到它们相应的 Windows
的报告。
来自 Screen_Window
的示例数据:
(column A) (column B)
screen_id window_id
s1 w1
s2 w1
s1 w2
预期的报告应该是这样的:
(column D) (column E) (column F)
field_id screen_id window_id
f1 s1 w1
f1 s1 w2
我在 F 列
中使用 VLOOKUP
函数来生成此报告:
=VLOOKUP(E2;A2:B4;2)
结果如下:
(column D) (column E) (column F)
field_id screen_id window_id
f1 s1 w1
因此,VLOOKUP
忽略了 w2
记录:
f1 s1 w2
如何在 Excel 中自动生成预期的报告?
最佳答案
VLOOKUP() 公式无法实现,但您仍然可以使用 excel 使用以下数组公式来处理它:
{=+INDEX($B$2:$B$12,SMALL(IF(E2=$A$2:$A$12,ROW($A$2:$A$12)-ROW($A$2)+1),COUNTIF($E$2:E2,E2)))}
为了使公式成为数组公式,您必须同时使用 “Ctrl + Shift + Enter” 键,而不是仅使用“Enter”。
我在一个例子中试过并且有效:
关于database - 如何在 Excel 中使用 vlookup 连接具有多对多关系的两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35913549/