2 つの別々のシートを持つ Google スプレッドシートがあります。1 つ目は名前とデータの大きなリストであり、2 つ目は最初のシートのすべてのデータを並べ替えたリスト (たとえば姓で並べ替えたもの) です。2番目のシートを定義している現在の方法は次のとおりです。
=sort(sheet1!A2:L100, sheet1!D2:D100, TRUE)
1 つの問題を除いて、これはほとんどの場合正常に機能します。シート 1 では、4 列目 (列 D) のセルの一部が空白です。列 D に空白のセルがある行を並べ替えが無視するように数式を変更するにはどうすればよいですか?
私が試した数式は望ましくない結果になりました:
=arrayformula(if(istext(sheet1!D2:D100), sort(sheet1!A2:L100, sheet1!D2:D100, true), ""))
希望どおりに並べ替えられましたが、1 つの問題がありました。空白のセルは最後にプッシュされず、行の間に散らばっていました。
=arrayformula(sort(filter(sheet1!A2:L100, istext(sheet1!D2:D100)),sheet1!D2:D100, true))
フィルター部分は完全に機能しますが、並べ替えと組み合わせると、エラーが発生します: 範囲の長さが一致しません。