代码是在第一行中查找一个字符串,然后根据布尔公式的结果对附近的行和列执行一些操作。最后,我将使用定义的输入单元格名称更改公式中的“范围”。
这是导致我出现错误的公式:
{=AND(
INDEX(TempTable, MATCH("Ranges", TempColArray, 0) +1, 0) = "—",
OR(
ISBLANK(INDEX(TempTable, MATCH("Ranges", TempColArray, 0) +1, 2)),
BR16 <= INDEX(TempTable, MATCH("Ranges", TempColArray, 0) +1, 2)
)
)}
目前,BR16 = 1000
我将其分成几个部分来查看每个部分是否正常工作,结果如下:
更新:我注意到图像上的 OR 公式的第 1 和第 2 个语句是反转的。
为了避免误解,“第一条语句”是指 OR/AND 公式的第一行/逻辑表达式,而 AND 公式的第二条语句是 OR 公式。
为了强调问题,AND 公式返回的是 FALSE,而它应该返回 TRUE。
正确或错误 = 正确
真实且真实=真实
真且(真或假)= 真
但是,对于最后一个,excel 返回的是 FALSE。
这是我为了测试公式而创建的表格(TempTable)(绿线左边是TempColArray):
答案1
答案2
我发现了错误。
在 INDEX 函数中,当我想选择表格的第一列时,我将 0 作为列。
对于这个,我应该填 1。
通过输入 0,INDEX 函数将返回所选行中所有单元格的值,而不仅仅是第一行的值。