在DGET函数中,如何使用多个单元格范围作为search条件?

我在Libreoffice中使用DGET函数。 我有第一张桌子,如下图(顶部)。 我想做第二张桌子(底部)。 我可以使用DGET函数,其中Database是包含顶部表格的单元格区域。 和数据库字段是“优胜者”。

是否有可能在search条件中有不同的单元格范围,因此对于条件1中的每一行单元格可以有不同的search条件的单独公式,如下表的第一行所示?

如果我必须为search条件使用不同的连续单元格范围,那么将会有[n *个机会]单元格范围,其中n =总案例数(在我的情况下约为150),机会=可能数目Chance#(50我的情况)。

 Case | Chance# | Winner ------------------------- 1 | 7 | Joe 1 | 9 | Emil 1 | 10 | Harry 1 | 11 | Kate 2 | 1 | Tom 2 | 3 | Jerry 2 | 4 | Mike 2 | 7 | John Case |Chance#|Chance#|Chance#|Chance#|Chance#|Chance#|Chance#|Chance#|Chance#|Chance#|Chance#| |="=1" |="=2" |="=3" |="=4" |="=5" |="=6" |="=7" |="=8" |="=9" |="=10" |="=11" | ---- |="=50" 1 | | | | | | | Joe | |Emil |Harry | Kate | ---- | 2 | Tom | |Jerry |Mike | | | John | | | | | ---- | 

要做到这一点,你需要改变你的方法,而不是使用DGET,我正在使用一个相当复杂的方法:

考虑你的例子:

 ABCD 1 # Case Chance# Winner 2 1 1 7 Joe 3 2 1 9 Emil 4 3 1 10 Harry 5 4 1 11 Kate 6 5 2 1 Tom 7 6 2 3 Jerry 8 7 2 4 Mike 9 8 2 7 John 10 11 Case\Chance# 1 2 3 4 12 1 13 2 Tom Jerry Mike 

我使用以下内容:

 =IF(SUMPRODUCT(($B$2:$B$9=$A12)*($C$2:$C$9=B$11)*($A$2:$A$9))> 0,INDEX($D$2:$D$9,SUMPRODUCT(($B$2:$B$9=$A12)*($C$2:$C$9=B$11)*($A$2:$A$9))),"") 

让我们忽略IF,并把焦点放在这里的真实交易:

首先,获取符合条件的行,$ B $ 2:$ B $ 9 = $ A12和$ C $ 2:$ C $ 9 = B $ 11将产生一个TRUE / FALSE数组,将它们相乘得到一个0/1数组只有一个1的比赛,现在乘以ID来获得你的表中的行号。 SUMPRODUCT将从结果数组中获得单个值(行)。 最后使用索引来检索所需的值。

IF语句testing是否存在匹配(SUMPRODUCT> 0),过滤掉没有匹配的单元格。