从excel中的范围搜索特定单元格

从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

我在比较不同的单元格时遇到了一个小问题,那就是我需要比较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
22       001224     No Match
101264   00040      Match on Row 121
请注意,所有数据类型都存储为文本。这是强制性的

问题在于,此公式跳过了一些数据,并且不会从b列收集数据,除非从文本更改为常规或数字,这将损坏我的工作表,因为许多单元格都以零开头

  • 如果查找_值可以是文本或数字,但始终以文本形式查找,则使用覆盖这两种情况的格式掩码格式化查找_值。似乎您的大多数示例数据都是六位数字,如有必要,则前导零。因此
    文本(A61,“000000;@”)
    应尽量不使用文本值,并在必要时将数字格式化为至少六位数字,前导零。分号前面的零将数字格式化为文本;分号后面的@单独保留文本

  • Excel 2007可以通过删除冗余,使用
    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键可使公式生效。