IF 函数其中第一个结果 returns #VALUE
IF function where the first result returns #VALUE
我在 A 列中有以下内容:
112234
113456(Producer)
123211
114523(Producer)
224431(Producer)
我想创建一个 B 列和一个 C 列,将其分隔为:
112234
113456 (Producer)
123211
114523 (Producer)
224431 (Producer)
所以我将此 IF 语句放在 B 列中,但它为第一条和第三条记录提供了#VALUE:
=IF(FIND("(",A2)>1,LEFT(A2,FIND("(",A2)-1),A2)
谁能告诉我我做错了什么?
FIND()
returns 找不到您要查找的内容时出现错误,而不是 0。
试试这个。
=IF(ISERROR(FIND("(",A2)),A2,LEFT(A2,FIND("(",A2)-1))
数字总是 6 位数吗?如果是这样,我认为没有什么可以阻止您使用 text-to-columns.
当前错误是由于 FIND()
实际上没有返回任何数字以在您的 IF()
中进行比较。您可以通过简单的串联来绕过此问题,以断言确实存在左括号:
B1
中的公式:
=LEFT(A1,FIND("(",A1&"(")-1)
顺便说一句,我不确定左括号后的数据是否总是“Producer”,但以防万一,您可以在 C1
中使用以下内容:
=REPLACE(A1,1,LEN(B1),"")
我在 A 列中有以下内容:
112234
113456(Producer)
123211
114523(Producer)
224431(Producer)
我想创建一个 B 列和一个 C 列,将其分隔为:
112234
113456 (Producer)
123211
114523 (Producer)
224431 (Producer)
所以我将此 IF 语句放在 B 列中,但它为第一条和第三条记录提供了#VALUE:
=IF(FIND("(",A2)>1,LEFT(A2,FIND("(",A2)-1),A2)
谁能告诉我我做错了什么?
FIND()
returns 找不到您要查找的内容时出现错误,而不是 0。
试试这个。
=IF(ISERROR(FIND("(",A2)),A2,LEFT(A2,FIND("(",A2)-1))
数字总是 6 位数吗?如果是这样,我认为没有什么可以阻止您使用 text-to-columns.
当前错误是由于 FIND()
实际上没有返回任何数字以在您的 IF()
中进行比较。您可以通过简单的串联来绕过此问题,以断言确实存在左括号:
B1
中的公式:
=LEFT(A1,FIND("(",A1&"(")-1)
顺便说一句,我不确定左括号后的数据是否总是“Producer”,但以防万一,您可以在 C1
中使用以下内容:
=REPLACE(A1,1,LEN(B1),"")