我导入了一个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。
答案 0 :(得分:0)
我将按照以下方式解决此问题:
=IF(SEARCH("BSSID",A2), <true>, <false>)
检查单元格中的BSSID =IF(IFERROR(SEARCH("BSSID",A2), FALSE), <true>, <false>)
<true>
部分中,我将使用TEXTJOIN将我的单元格与...TEXTJOIN(":",TRUE,B2:G2)...
之间的冒号组合起来编辑:我注意到您在一个位置说要检查单元格A2中的“ BSSID”,而在另一个位置说要检查单元格B2。也许确保您没有检查错误的单元格?
= IF(ISNUMBER(SEARCH(“ BSSID”,A2)),B2&“:”&C2&“:”&D2&“:”&E2&“:”&F2&“:”&G2,B2)
...
如果B2包含字符串“ BSSID”,那么我的预期结果将是H2 ...