根据合并单元格中的条件内容将工作表内容的一部分复制到新工作表

时间:2018-04-20 10:48:35

标签: google-sheets

我正在尝试根据合并单元格中的条件内容将部分工作表内容复制到新工作表。 如果合并的单元格内容包含文本字符串,则该合并单元格定义的行将复制到新工作表。

似乎合并单元格的实际内容仅设置为顶部单元格,当我运行查询时,下面的单元格(仍然是合并单元格的一部分)为空。

https://docs.google.com/spreadsheets/d/1ghVneVl9PreUSsZPkIb5gdG5ZWh_TWztBqwPRFEXHsA/edit?usp=sharing

'Q2'!A2-3-4是一个合并的单元格,文本为'LT CLP'

当我查询

= QUERY({'Q2'!A2:K},“select *其中Col5不为空,Col1 CONTAINS'LT CLP'”,0)

我只得到第2行的内容,而不是第2,3和4行。

QUERY只看到Q2'!A2充满LT CLP'文字,而Q2'!A3和Q2'!A4为空。

如何复制由具有“LT CLP”文本的合并单元格{'Q2'!A2-3-4}定义的所有行。

任何想法?

感谢您的帮助

Nadav

1 个答案:

答案 0 :(得分:0)

不幸的是,如果合并单元格,则会丢失数据:

  • 合并范围的第一个单元格是值
  • 所有其他单元格都是空字符串=""

您有两个选择:

  1. 取消合并所有单元格并填充空白
  2. 使用脚本。
  3. 中,您可以找到满足您需求的方法:

     var ss = SpreadsheetApp.getActiveSpreadsheet();
     var sheet = ss.getSheets()[0];
    
     var range = sheet.getRange("A1:B3");
    
     // True if any of the cells in A1:B3 is included in a merge.
     var isPartOfMerge = range.isPartOfMerge();
    

    参考:

    https://developers.google.com/apps-script/reference/spreadsheet/range