【问题标题】:Need to apply formula to certain blank cells需要将公式应用于某些空白单元格
【发布时间】:2019-12-26 17:02:55
【问题描述】:

我在这里有一个公式,它应该只在 B 列中的单元格为空白且 A 列中的单元格不为空白时激活。当它确实激活时,它会获取 A 中的值并将其放入空白 B 单元格中。这是代码:

 =IF(AND(not(isblank(A)),isblank(B)), B, A)

我看到的问题是我希望将此公式放在 B 列中的某些空白单元格上。有没有办法让我选择 B 列中的所有这些空白,然后一次将公式添加到所有这些空白中,这样它就不会与 B 列中已经有值的单元格混淆?

【问题讨论】:

  • =Arrayformula((IF(AND(not(isblank(A2:a10)),isblank(B2:b10)), a2:a10, b2:b10))
  • =IF(AND(not(isblank(A)),isblank(B)), B, A) 表示当 A 不为空且 B 为空时它会给出 B (Blank),其他的,它会给 A。或者换句话说,它总是给 A,除非 B 是空白且 A 不是空白,它会给出 B。

标签: regex if-statement google-sheets google-sheets-formula array-formulas


【解决方案1】:

尝试:

=ARRAYFORMULA(IF(REGEXMATCH(TO_TEXT(ROW(A3:A)), "4|12|13"), 
 IF((A3:A<>"")*(B3:B=""), B3:B, A3:A), ))

第 11 行被跳过的地方

或倒置:

=ARRAYFORMULA(IF(NOT(REGEXMATCH(TO_TEXT(ROW(A3:A)), "11")), 
 IF((A3:A<>"")*(B3:B=""), B3:B, A3:A), ))

【讨论】:

    【解决方案2】:

    一个。对于非空白 A,空白 B 得到 A,非空白 B 得到 B(结果 1):

    = filter
      ( 
         IF 
         ( 
            not(isblank(A2:A)), if(isblank(B2:B),A2:A,B2:B),""
         ) 
         , max(filter(row($A$2:$B) ,$A$2:A<>""))>=row($A$2:$B)
      )
    

    b.对于非空白 A,只需为空白 B 获取 A(结果 2):

    = filter
      ( 
         IF 
         ( 
            not(isblank(A2:A)), if(isblank(B2:B),A2:A,""),""
         ) 
         , max(filter(row($A$2:$B) ,$A$2:A<>""))>=row($A$2:$B)
      )
    

    【讨论】:

    • 抱歉回复晚了,但这似乎与我正在寻找的内容非常接近。但是是否可以让结果 1 中的结果代替测试 B 中的单元格?比如第 5 行 Result1 是 TestA3,是否可以替换 B5 中的空白点?
    • 这是不可能的,除非您在编辑或更改时使用触发器,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 2018-03-22
    • 1970-01-01
    相关资源
    最近更新 更多