クエリ関数の最初の部分は、クエリ対象の範囲です。2番目の部分は、何をつかむかです。だから私はあなたがこれを探しているかもしれないと思う:
=QUERY(MASTER!A:T,"SELECT C,D,E,F WHERE T ='Miranda'",0)
0 はヘッダーとして行を使用しないことを示しているため、列ヘッダーは表示されません。
これにより、T が Miranda である行の列 C、D、E、および F がリストされます。
編集:
個々のシートのそれぞれにタイムスタンプを表示していないため、単一の一致を取得するのは困難ですが、フォームで必要な限り、列 M をチェックするのはかなり安全です。
=FILTER(MIRANDA!C2:F, MIRANDA!C2:C=M2)
は、M2 の値に一致する Miranda タブの行の C から F までのセルの配列を返します。そのまま、数式と次の 3 つを含む列にこれらを配置します。それらを 1 つのセルに入れるには、結合する必要があります。
=join("|",FILTER(MIRANDA!C2:F, MIRANDA!C2:C=M2))
これは|を置きます 各列項目間の文字。「|」を変更 あなたがなりたいものに。
したがって、セル T の値を取得してこれを機能させるには、INDIRECT() が必要です。
=join("|",FILTER(INDIRECT( T2 & "!C:F"), INDIRECT( T2 & "!C:C")=M2))
別のオプション、特に各タブにタイムスタンプを含めた場合は、vlookup を使用してタイムスタンプ列を検索することもできます。ただし、列 M を使用するとうまく機能しない場合があります。
=VLOOKUP(M2, INDIRECT( T2 & "!C:F"), 1, FALSE)
カスタム スクリプトを使用しているため、これらのメソッドのいずれにも arrayformula() を適用できないため、カスタム スクリプトを使用して数式をコピーすることもできます。これを行うサンプルスクリプトがいくつかあると思います。問題は、別のセルを参照して範囲を取得することです。これを行う唯一の方法は、INDIRECT() 関数を使用することであり、配列をサポートしていません。別のオプションは、必要な範囲値を返し、配列式で機能するカスタム式を作成することです。