我有一张表格,其中一些数字被存储为文本(UPC码,因此我不想丢失前导零)。 COUNTIF()
可以很好地识别匹配项,但是 MATCH()
不起作用。 MATCH()
无法处理存储为文本的数字,还是这只是一个我需要解决的限制?
我有一张表格,其中一些数字被存储为文本(UPC码,因此我不想丢失前导零)。 COUNTIF()
可以很好地识别匹配项,但是 MATCH()
不起作用。 MATCH()
无法处理存储为文本的数字,还是这只是一个我需要解决的限制?
MATCH
、VLOOKUP
和HLOOKUP
等函数需要匹配数据类型(数字或文本),而COUNTIF/SUMIF
则没有区别。你是用MATCH来查找位置还是仅用于确定该值是否存在于数据中?
如果您有一个数字查找值,可以在公式中使用&""将其转换为文本,例如:
=MATCH(A1&"",B:B,0)
....或者如果它是需要与数字匹配的文本查找值
=MATCH(A1+0,B:B,0)
如果您想在单元格A2中查找单词“test”,请键入以下内容:
=MATCH(""&"test"&"",A2,0)
如果这不起作用,请尝试使用=Trim和=Clean来净化您的列。
如果=Trim和=Clean都没有帮助,那么只需使用左侧250个字符... (因为Match公式可能会在250个字符后遇到超时/溢出。)
=Left(A2, 250)
如果您正在使用名称来引用范围,一旦您已经修复了数据类型,请重新定义任何引用这些范围的名称。
=MATCH(TEXT(A1,"0"),B:B,0)
或=MATCH(VALUE(A1),B:B,0)
。 - JustinJDavies=MATCH(VALUE(A1), VALUE(B:B), 0)
对我很有效。 - miken32=MATCH(A1+0,B:B,0)
对我很有帮助。这也适用于跨表的情况,例如=MATCH(My_Table[[#data],[Column_Name]]+0,[@[Value]],0)
。 - Signal15