【问题标题】:Excel IF Function with LEFT Function criteria具有 LEFT 函数条件的 Excel IF 函数
【发布时间】:2020-06-03 11:58:28
【问题描述】:

我正在使用 GOOGLE SHEETS,并尝试通过以下方式处理收到的数据:

在 A 列中,我有一个数字。在 B 栏中,我有一个部门。在 C 列中,我将数字更改为仅当数字以 36 开头时才与 B 列值的第一个字母连接。如果不是,它只是将新数字作为原始数字返回。我不得不使用 SEARCH 功能,因为 IF LEFT 在这里不起作用,所以问题是如果在找到 36 的地方更改数字,而不仅仅是以 36 开头的数字。任何帮助将不胜感激。

此公式用于 C 列:

=IFERROR(IF(SEARCH("36",A2),CONCATENATE(A2,LEFT(B2,1)),A2),A2)

这是我尝试过的 IF LEFT 函数:

=IFERROR(IF(LEFT(A2,2) = "36",CONCATENATE(A2,LEFT(B2,1)),A2),A2)

(如果发生错误或旧号码不是以 36 开头,新号码应保持原来的号码)

提前致谢

编辑:将 LEFT 函数更改为更正范围,最初在提问时忘记对其进行编辑。

【问题讨论】:

  • 使用 LEFT 功能会发生什么?
  • 请选择 Excel 或 GS​​。不幸的是,它们并不相同。看起来你在 GS 工作?

标签: excel google-sheets excel-formula google-sheets-formula


【解决方案1】:

试试这个:

=IF(LEFT(A2,2)="36",A2 & LEFT(B2,1),A2)

此方法不使用IFERROR()CONCATENATE()
它假定您的 Excel 版本使用英文版的函数名称并使用 , 作为参数分隔符。 p>

【讨论】:

  • 非常感谢!这完美地工作。我看到我挣扎的原因之一是因为当我使用拆分函数从另一个范围检索 A 列的数据时创建了空格。
  • @JacquesNaudé 如果您在数据的开头和结尾遇到空格问题,您可以使用TRIM 删除它们(例如TRIM(" some text ") 将给出"some text",使用从开头和结尾删除空格)
【解决方案2】:
=IF(LEFT(A2,2)="36",CONCATENATE(A2,LEFT(B2,1)),A2)

【讨论】:

    【解决方案3】:
    =A2 & LEFT(B2, LEFT(A2, 2)="36")
    

    这是'golfed' answer:尽可能短(尽管为了便于阅读,我留了空格)

    如果单元格 A2 的前 2 个字符是 "36",那么 LEFT(A2, 2)="36" 将是 True。否则,LEFT(A2, 2)="36" 将是 False

    Excel 会将 TrueFalse 视为 10 - 因此,LEFT(B2, LEFT(A2, 2)="36") 将采用单元格 B2 中的 first 字符,或者 no 单元格 B2 中的字符,并将其添加到单元格 A2 中的值的末尾。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 2020-10-17
      • 2016-02-16
      相关资源
      最近更新 更多