【问题标题】:Excel - IFERROR FunctionExcel - IFERROR 函数
【发布时间】:2019-07-23 17:03:31
【问题描述】:

我的公式有一些问题,我希望在这里找到一些帮助。

这是我的公式:

=IFERROR(REPLACE(F7, FIND("BOB",A2), 13, "Other"),A2)

我的数据中有 3 个名字(B 列):

  • 鲍勃
  • 莎拉

我想要做的是找到“Bob”的名字并在 C 列中将其返回为“Other”,我希望 Sarah 以 Sarah 的身份返回,Lee 以 Lee 的身份返回。

使用我的公式,目前它会将每个人的名字返回为“Open”,我不太清楚为什么。

有什么建议吗?

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    用途:

    =IF(ISNUMBER(FIND("Bob",A2)),"Other",A2)
    

    要记住的一件事 FIND 是完全匹配,而 SEARCH 不关心大小写。

    所以如果Bob 可以是BOBBob 那么你可能想使用SEARCH

    =IF(ISNUMBER(SEARCH("Bob",A2)),"Other",A2)
    

    【讨论】:

    • 它对我不起作用 :( 当我使用 FIND 时,它们都返回为“Bob”而当我使用 SEARCH 时,它们都是“Other”
    【解决方案2】:

    @ScottCraner 答案的替代方案。

    目前尚不清楚您是否只希望“Bob”产生“Other”,或者您是否希望“Sarah”或“Lee”以外的任何东西产生“Other”。

    如果你想要后者,你可以使用这个数组公式:

    = IF(MAX(IFERROR(FIND({"Sarah","Lee"},A2),0))=0,"Other",A2)
    

    请注意,这是一个数组公式,因此您必须在键入公式后按键盘上的 Ctrl+Shift+Enter 而不仅仅是 输入。

    【讨论】:

    • =IF(SUM(COUNTIF(A2,{"*Sarah*","*Lee*"})),A2,"Other") 不需要数组。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    相关资源
    最近更新 更多