从公式

时间:2019-05-17 20:05:28

标签: excel excel-formula

我导入了一个txt文档,该文档创建了7列数据。文档中的数据点之一是MAC地址,但是,由于txt文档的格式(这种方法无法解决),MAC地址被分为6列(BG),所有其他相关B列中存在数据(非MAC地址)。

我正在尝试编写公式以检查B列中的单元格,如果它包含“ BSSID”,则它将合并BG列中相应行中的文本,并在H列中输入新值(因此显示作为普通的MAC地址)。如果该单元格不包含“ BSSID”,则只需将该单元格的值移到H列中的相应行。

我的问题给出以下公式,如果单元格包含“ BSSID”,则H列中的相应行将仅在第一列而不是所有列中显示该单元格的值。

我尝试过将代码合并到公式中B-G中的单元格,并用方括号和引号括起来的代码,但运气不好。
我还尝试通过仅运行公式来组合H列中的所有内容,然后通过公式将I列中的所有内容组合起来,从而将此解决方案变成多步解决方案。 我试图将H列中返回的值移到I列,但是遇到了同样的问题。
而且我尝试交换返回值,只是为了确保我没有将真实的返回值与错误的返回值混淆。

我想开始工作的原始代码:

=IF(ISNUMBER(SEARCH(“BSSID”,A2)),B2&":"&C2&":"&D2&":"&E2&":"&F2&":"&G2,B2)

当我将其分为两部分时,代码是这样的:

H列:=B2&":"&C2&":"&D2&":"&E2&":"&F2&":"&G2, B2

第一列:=IF(ISNUMBER(SEARCH(“BSSID”,A2)),H2,B2)

这两个代码仅在为true时才返回单元格B2中的值,而不是看起来像MAC地址的值。

我的预期结果是,如果B2包含字符串“ BSSID”,则H2将显示格式化为看起来像MAC地址的B2-G2内容;并且如果B2不包含字符串“ BSSID”,则H2将显示B2的内容。

实际结果是,当公式返回true时,H2仅显示B2,而不显示B2-G2。

1 个答案:

答案 0 :(得分:0)

我将按照以下方式解决此问题:

  • 使用IF语句=IF(SEARCH("BSSID",A2), <true>, <false>)检查单元格中的BSSID
  • 如果未找到“ BSSID”,则此语句可能会导致错误。您的代码看起来不错,但问题可能出在这里。可以肯定的是,我们可以使用IFERROR =IF(IFERROR(SEARCH("BSSID",A2), FALSE), <true>, <false>)
  • 插入错误的捕获
  • 然后,在IF语句的<true>部分中,我将使用TEXTJOIN将我的单元格与...TEXTJOIN(":",TRUE,B2:G2)...之间的冒号组合起来

编辑:我注意到您在一个位置说要检查单元格A2中的“ BSSID”,而在另一个位置说要检查单元格B2。也许确保您没有检查错误的单元格?

  

= IF(ISNUMBER(SEARCH(“ BSSID”,A2)),B2&“:”&C2&“:”&D2&“:”&E2&“:”&F2&“:”&G2,B2)

     

...

     

如果B2包含字符串“ BSSID”,那么我的预期结果将是H2 ...