为什么我会收到错误 SPLIT 参数 1 空错误,而事实并非如此?

问题描述 投票:0回答:1

我使用下面的公式将 E 列中格式 (EX:2/4/6/8) 的数字除以 D 列中的数字 (EX: 2),并从 E 列提供相同格式的输出 ( 1/2/3/4).

=ARRAYFORMULA(IF((ROW(D2:D) = 4) + (ROW(D2:D) = 9) + (D2:D = "") + (E2:E = "") + (D2:D = 0), "", TEXTJOIN("/", TRUE, SPLIT(E2:E, "/") / D2:D)))

我收到的错误是,在具有值且未被 IF(4 和 9)跳过的行中,我收到错误消息“函数 SPLIT 参数 1 值应该为非空”。我不明白为什么会出现这种情况,因为公式应该首先跳过参数 1 为空的行,而错误发生在不应该为空的行中。我没有使用此类电子表格的经验,但了解代码并且找不到任何可能导致错误的内容,因此非常感谢任何帮助!

google-sheets google-sheets-formula
1个回答
0
投票

虽然我不明白你为什么使用

ROW
,但如果你的目标是拆分E列中的值,然后将每个值除以D列的值,然后将它们连接在一起。

你可以试试这个:

=map(D2:D12,E2:E12, lambda(x,y, IF(OR(x = 0, x = "", y = ""), "", TEXTJOIN("/", TRUE, ARRAYFORMULA(SPLIT(y, "/") / x))))
)
© www.soinside.com 2019 - 2024. All rights reserved.