Excel SEARCH函数始终返回#N/B错误,如何提取FQDN中的主机名?
解决荷兰语Excel中提取FQDN主机名的#N/B错误问题
错误原因
你遇到的#N/B错误大概率来自两个核心问题:
- ZOEKEN函数的参数/分隔符错误:荷兰语Excel的参数分隔符可能因系统区域设置不同(比如部分英文区域的荷兰语界面Excel),需要用逗号而非分号;另外需确保ZOEKEN的参数顺序正确——荷兰语ZOEKEN对应英语SEARCH,语法为
ZOEKEN(要查找的文本; 目标文本; [起始位置]),如果参数写反,自然找不到匹配项。 - FQDN中的点号非英文半角点:如果你的FQDN里用的是全角中文点“.”,而非半角英文点“.”,用半角点查找会直接匹配失败。
解决方案
方案1:修正公式(兼容无点号的情况)
先确认你的Excel参数分隔符:打开Excel选项>高级>找到“编辑自定义列表”旁的分隔符设置,若显示逗号,就用逗号分隔参数;若为分号则用分号。
修正后的公式(同时处理无点号的FQDN,避免报错):
=ALS(ISNUMBER(ZOEKEN(".",A1)), LINKS(A1,ZOEKEN(".",A1)-1), A1)
(说明:ALS是荷兰语的IF函数,用来判断是否找到点号,找到就提取主机名,没找到就返回原文本)
如果确认分隔符是分号,把公式里的逗号换成分号即可:
=ALS(ISNUMBER(ZOEKEN(".";A1)); LINKS(A1;ZOEKEN(".";A1)-1); A1)
方案2:替换全角点号
如果是点号类型问题,先统一替换为半角点:
- 选中FQDN所在列,按
Ctrl+H打开查找替换窗口 - 查找内容输入全角点“.”,替换为半角点“.”
- 点击「全部替换」后,再使用上述提取公式
方案3:用文本分列快速提取(无需函数)
如果不想用函数,直接用Excel的文本分列功能一步到位:
- 选中FQDN所在列,点击顶部「数据」选项卡>「文本分列」
- 选择「分隔符号」,点击下一步
- 勾选「其他」,输入半角点“.”,点击下一步
- 选择第一列作为主机名的输出列,完成后即可直接得到所有主机名
内容的提问来源于stack exchange,提问作者Niek Jonkman
相关产品推荐
相关产品推荐

