问题:我们构建的公式用于提取字符串中的所有其他数字并将两组数字添加在一起,将它们粘贴到新单元格中,该公式在空白工作表中有效,但在我们需要它工作的工作簿中无效在.
问题: 有谁知道为什么一个函数可能在空白工作表中工作,但在另一个工作表中却不起作用?两个单元格都是空白的,没有格式,设置为“常规”,手动输入,因此没有其他函数应该指向或来自它。 否则,如果不可能,是否有另一种方法可以重写此函数来规避我们的问题,读取字符串中的所有其他数字,并将两组独立的数字添加到 2 个结果中,然后粘贴到一个单元格中(“6 PLT @ 12 英尺”)。任何想法或帮助表示赞赏。谢谢。
开发一个函数,从单元格中提取所有其他数字,并将它们分别添加在一起以显示在另一个单元格中。
例如。运输 4 PLT @ 8 FT 示例 2 PLT @ 4 FT
Results: 6 PLT @ 12 FT
终于在空白工作表中得到了一个工作公式,将其提取为字符串,忽略文本,只读取字符串中的数字。 (传输线和示例线都在同一个单元格中)。
=TEXTJOIN("",TRUE,IFERROR((MID(A1,ROW(间接("1:"&LEN(A1))),1)*1),""))
Results: 4824
在此基础上,我们将此函数指定为变量,以便可以将其应用于我们围绕它构建的函数的其余部分,以将所有其他数字添加到 2 个单独的结果中。
=LET(N,TEXTJOIN("",TRUE,IFERROR((MID(A1,ROW(间接("1:"&LEN(A1))),1)*1),"")),CONCATE NATE(SUMProduct(MID(N,ROW(间接("1:"&LEN(N))),1)*MOD(ROW(间接("1:"&LEN(N))),2))," @ ",SUMPRODUCT(MID(N,ROW(间接("1:"&LEN(N))),1)*MOD(ROW(间接("1:"&LEN(N)))-1,2)), “FT”))
Results: 6 PLT @ 12 FT
现在,就上下文而言,我和我的同事刚刚开始使用公式,所以我不确定它是否会更好。无论如何,它适用于我们一直用作草稿纸的空白工作表。我们很高兴能让这个计算器正常工作,因此将公式放入将要应用的工作表中,并导致“#REF”错误。拆开这些片段,我们发现第一个函数应该返回字符串 4824,如果现在文本在数字之前,则返回空白,如果我们删除文本,它只返回 4,而不会读取其余数字。我们之前总是用一串文本来测试它,因为我们知道这就是输入的方式。
我们尝试使用它的工作簿有 80 多个工作表,每个工作表有 100 行,所以我们有点担心 Row 函数会因为 excel 不够强大而崩溃。考虑到工作表的数量以及我们使用它的工作簿中有多少功能,我们还认为这可能是损坏的。我们尝试了“打开并修复”,但结果是相同的。我们认为这可能是间接函数给我们带来了麻烦,所以尝试将其替换为:
=TEXTJOIN(, 1, TEXT(MID(A1, ROW($AB$1:INDEX($A$1:$A$1000, LEN(A1))), 1), "#;-#;0;"))
草稿纸上的结果仍然是 4824,但工作簿中的空白或个位数状态与以前相同。
你能试试这个吗?
=TEXTJOIN("",TRUE,IFERROR((MID(A1,SEQUENCE(LEN(A1)),1)*1),""))