我有2张桌子。 表1包含以下字段:
1. Warehouse
2. Test Date0
3. Test Date1
4. Test Date2
1,2,3&的组合4总是独一无二的
表2包含以下字段:
1. Warehouse
2. Link No.
3. Issue date
4. [Pick test Date0] {currently blanks}
5. [Pick test Date1] {currently blanks}
6. [Pick test Date2] {currently blanks}
1,2&的组合3总是独一无二的
需要根据以下条件填充空白的公式:
Table 1[Warehouse] = Table 2[Warehouse]
和
Table 1[Test Date2] < Table 2[Issue Date]
以上标准给出了多个结果。因此输出必须如下: 首先
Table 1[Warehouse] = Table 2[Warehouse]
需要处理。 在上面收到的结果子集中发布,需要处理以下内容:
Table 1[Test Date2] < Table 2[Issue date]
对于此子集,需要处理以下内容:
min(abs(Table 1[Test Date2]-Table 2[Issue date])).
需要从表1中使用满足上述标准的记录来填充表2中的字段。
答案 0 :(得分:1)
你可以使用没有神奇的公式,只需逐一嵌套Ifs
If A = true then
If B = true then
If C = True And D = True then
'do stuff
End If
End If
End If
答案 1 :(得分:1)
使用示例数据布局:
Error enabling openmp - "ld: library not found for -lgomp" and Clang errors
H2中的公式是(你可以向下/向右拖动):
=LOOKUP(0,0/FREQUENCY(0,($F2=$A$2:$A$28)*$G2-B$2:B$28-1)/($F2=$A$2:$A$28),B$2:B$28)
频率通常有助于找到最小距离:
=FREQUENCY(0,array1)
返回二进制数组2:
{0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}
其中1
表示array1的最低非负值的位置。 Array2有一个元素而不是array1,当array1的所有元素都是负数时,则array2的最后一个元素= 1。
在这种情况下,array1是:
($F2=$A$2:$A$28)*$G2-B$2:B$28-1
$G2-B$2:B$28-1
对所有测试日期&gt; =发布日期均为负数。 ($F2=$A$2:$A$28)*
部分将仓库不匹配的元素的发布日期归零。
LOOKUP(0,0/array2,array3)
搜索array2的单个非零元素,并返回array3的相应元素。第二个分部/($F2=$A$2:$A$28)
用于确保它不会返回位于查找范围之外的值(屏幕截图上的字母a
,b
,c
),当有不配。