如果我正在使用 vlookup 或匹配函数,但我需要对查找材料进行一些繁琐的操作,有没有办法在查找数组中执行此操作,而不是简单地添加另一列?
假设我有一个查找值“FOOBAR 123”,并且我想返回名为“FOO BAR123”的记录
理想情况下,我想做类似的事情
=MATCH(SUBSTITUTE(A1," ",""),SUBSTITUTE('Sheet1'!$A:A," ",""),0)
但SUBSTITUTE
查找数组将其破坏。
这是可能的
=MATCH(SUBSTITUTE(A1," ",""),'Sheet1'!$B:B,0)
并在 Sheet1 中添加一=SUBSTITUTE(A1," ","")
列,但是有没有办法避免这样做?
答案1
也许我误解了你的问题,否则它应该对你有用。
=SUBSTITUTE(MATCH(A1,'Sheet1'!$A:A,0)," ","")
答案2
第一个公式很好,只要你将其提交为数组公式(即使用 CTRL+SHIFT+ENTER),但在这种情况下强烈建议你不要引用整个 A 列,否则这将导致极其耗费资源的公式。
将过程分成两列也使得计算不那么密集。
={MATCH(SUBSTITUTE(A1," ",""),SUBSTITUTE($A:$A8000," ",""),0)}
比以下两列解决方案更为密集
=SUBSTITUTE(A1," ","") //in column B
=MATCH(SUBSTITUTE(A1," ",""),$B1:$B8000,0)
因为在第一种情况下,必须对每一行计算一次 A 列的替换,但在第二种情况下,只需计算一次 A 列的替换。
@XOR LX 回答。发布此帖是为了标记问题已解决,但 XOR LX 值得称赞。