从excel中的范围搜索特定单元格
我在比较不同的单元格时遇到了一个小问题,那就是我需要比较a列中的每个单元格和整个B列,并在相邻的c列单元格中找到指定的单元格 我用了这个等式:从excel中的范围搜索特定单元格,excel,excel-2007,Excel,Excel 2007,我在比较不同的单元格时遇到了一个小问题,那就是我需要比较a列中的每个单元格和整个B列,并在相邻的c列单元格中找到指定的单元格 我用了这个等式: =IF(iError(匹配(A61,B:B,0))、“不匹配”、“行上匹配”和匹配(A61,B:B,0)) 这就是结果: 18 001220 No Match 19 001221 No Match 20 001222 No Match 21 001223 No Match 2
=IF(iError(匹配(A61,B:B,0))、“不匹配”、“行上匹配”和匹配(A61,B:B,0))
这就是结果:
18 001220 No Match
19 001221 No Match
20 001222 No Match
21 001223 No Match
22 001224 No Match
101264 00040 Match on Row 121
请注意,所有数据类型都存储为文本。这是强制性的
问题在于,此公式跳过了一些数据,并且不会从b列收集数据,除非从文本更改为常规或数字,这将损坏我的工作表,因为许多单元格都以零开头
文本(A61,“000000;@”)
应尽量不使用文本值,并在必要时将数字格式化为至少六位数字,前导零。分号前面的零将数字格式化为文本;分号后面的@单独保留文本IFERROR
大大缩短该公式=IFERROR(“行匹配”和匹配(文本(A61,“000000;”),B:B,0,“不匹配”)
列B中的数据是否遵循您可以在excel中描述的特定格式?所有格式都是文本,尽管大多数单元格都包含数字,这是因为许多单元格以0、00或000开头。这不是我的确切意思。让我试着换个说法:所有数字的格式都是6位数吗?例如,在excel中,用户可以使用=text(A1,“00000”)来将1000
转换为001000
。不,数字是可变的,有时是2或6或7或9位。这可能很慢,但您可以尝试使用此匹配来代替第一个:匹配(A61*1,B:B*1,0)
,在进行更改后,按Ctrl+Shift+Enter键而不是Enter键可使公式生效。