使用Google表格,我目前正在使用此公式查找指定范围内符合ISNUMBER()条件的第一个单元格:
=INDEX(FILTER(AC!D9:K9,ISNUMBER(AC!D9:K9)), 1)
这很好用。但是我需要将它应用于整个列,因此一种替代方法是将其向下拖动,以便后续单元格包含类似的公式,例如,此下面的单元格将包含:
=INDEX(FILTER(AC!D10:K10,ISNUMBER(AC!D10:K10)), 1)
这也有效。但我想找到一种方法使其更清洁并使用ArrayFormula将其应用于整个列,并使用默认的Ctrl + Shfit + Enter
公式:
=ArrayFormula(INDEX(FILTER(AC!D9:K9,ISNUMBER(AC!D9:K9)), 1))
不工作。有谁知道我怎么能让它发挥作用?
答案 0 :(得分:0)
index
不适用于ArrayFormula
请尝试:
=ArrayFormula(IFERROR(REGEXEXTRACT(
TRANSPOSE(QUERY(TRANSPOSE(IFERROR( 1 * D9:K12)),,2^99)),
"\d+"),"no number here"))
IFERROR( 1 * D9:K12)
仅返回范围D9:K12
中的数字。
=TRANSPOSE(QUERY(TRANSPOSE(IFERROR( 1 *D9:K12)),,2^99))
给出一个由空格分隔的数字数组。如果一行没有数字,它将返回空格。
REGEXEXTRACT( expression , "\d+")
将从字符串中找到第一个数字。
修改强>
将数字转换为数字格式:
=ArrayFormula(IFERROR(REGEXEXTRACT(
TRANSPOSE(QUERY(TRANSPOSE(IFERROR(1*D9:K12)),,2^99)),
"\d+") * 1,"no number here"))