我需要你的帮助,经过多次尝试和搜索后,我还无法实现目标。
这是excel-formula怀疑。
工作表A1
中的我的Tags
包含以下值作为示例:
adm
as
ad
b02
b02_e11
b02_e14
b807-10_e3
b807-10_e4
b807_e1
batch
bp
... and many more entries.
使用以下公式,我只能收集以b
开头的匹配值:
{=IFERROR(INDEX(Tags!$A$1:$A$999,SMALL(IF(LEFT(Tags!$A$1:$A$999,1)=$A$7,ROW(Tags!$A$1:$A$999)),ROW(1:1)),1),"")}
来自A7
工作表的 Summary
包含字符b
。
上述公式的结果返回给我以下序列:
b02
b02_e11
b02_e14
b807-10_e3
b807-10_e4
b807_e1
batch
bp
但我不希望序列中包含值batch
或bp
或任何其他以b开头并且之后没有数字的值,我只想要像b0
,b1
,...,b8
。
为了实现我的目标,我尝试了许多解决方法,例如添加以下公式和数组:
=COUNT(FIND({0,1,2,3,4,5,6,7,8,9},A1))>0
在我目前的IF声明之间:
{=IFERROR(INDEX(Tags!$A$1:$A$999,SMALL(IF(AND(LEFT(Tags!$A$1:$A$999,1)=$A$7,COUNT(FIND({0,1,2,3,4,5,6,7,8,9},B2))>0),ROW(Tags!$A$1:$A$999)),ROW(1:1)),1),"")}
* B2
是我想要粘贴公式的地方,因为B1
包含标题。
以上公式向我返回了许多0。
我希望我能给你足够的信息,如果我不能更准确地说我还不能在这里粘贴图像,那就很抱歉。
谢谢你, 罗德里戈
答案 0 :(得分:1)
我发现AGGREGATE可以更容易地添加其他条件。
=IFERROR(INDEX(tags!A:A, AGGREGATE(15, 6, ROW($1:$999)/((LEFT(tags!A$1:A$999, 1)=$C$3)*(ISNUMBER(--MID(tags!A$1:A$999, 2, 1)))), ROW(1:1))), TEXT(,))
我还减少了一些冗余字符并最小化了单元格区域引用。