3

スプレッドシートに=query(importrange(...);"select * where Col1>' '")数式があります。 Importrange()それ自体は問題なく動作し、ソーススプレッドシートからすべてのセルをそのままロードします。ただし、Col7 にはテキスト セルはほとんど含まれていませんが、ほとんどが数字であり、query() が適用されると、数字はそのまま保持されますが、テキストは空白に置き換えられます。options no_formatクエリの最後に追加しようとしましたが、違いはありません。

Col7 の内容は次のとおりです。最初の行は空白に置き換えられます。

  • 自由
  • 41,25
  • 34,25
  • 34,25
  • 48,25
  • 41,25
4

3 に答える 3

5

QUERYは、設計上、データ型が混在する列を返しません。

1 つの列に複数のデータ型が混在している場合、大部分のデータ型によってクエリ目的の列のデータ型が決定されます。マイノリティ データ型は null 値と見なされます。

回避策は、後でデータをどのように使用するか、およびどのような妥協をいとわないかによって異なります。たとえば、データセット全体をテキスト文字列に簡単に変換できるので、すべてが保持されますが、すべての数値もテキスト文字列になります。

数値を数値として保持する必要がある場合は、多くの場合、スプレッドシートのどこか (非表示のシートにある可能性があります) のデータセット全体を ImportRange し、その上で QUERY の代替手段 (つまり、FILTER) を使用するのが最善の方法です。

于 2014-11-23T22:37:07.237 に答える
0

混合データ型にする必要がある列には vlookup を使用できます。一意の行識別子をクエリしてから、残りを vlookup します。私はよく次の式を使用します。

=arrayformula(if(isblank(A:A), "", vlookup(A:A, search_range, col_index, FALSE)))
于 2021-11-30T18:05:55.407 に答える