(1)シート2/3のB列2行目以降に入れるNo.の値が、昇順かつ、重複しない場合
→ シート2のC3セル、シート3のC3セルそれぞれに下記の数式を入れてみて下さい。
=ARRAYFORMULA(QUERY('シート1'!$B$3:$E,"select C,D,E where B Matches '"&TEXTJOIN("|",TRUE,B3:B)&"'"))
ただしこの数式は、B列にいれるNo.の順序がばらばらだったり、重複したNo.を入れると正しく動作しません。
(2) シート2/3のB列2行目以降に入れるNo.の値が、順序がばらばらで、重複する可能性もある場合
(こちらの方が対応できる範囲が広いと思います)
→ シート2のC列の3行目以降、シート3のC列3行目以降に下記の数式を入れてみて下さい。(数式はコピーして貼り付けのこと)(各行ごとに数式を入れる必要があります)
=IFERROR(QUERY('シート1'!$B$3:$E,"select C,D,E where B="&B3),"")
=IFERROR(QUERY('シート1'!$B$3:$E,"select C,D,E where B="&B4),"")
=IFERROR(QUERY('シート1'!$B$3:$E,"select C,D,E where B="&B5),"")
....
...
..
②のようなやり方で行った場合、テキストを関数としてみさせるにはどうすればいいでしょうか?
INDIRECT関数は、セル番地を表す文字列をその番地の内容として認識させることしかできません。
基本的に関数を記述した文字列を関数として認識させることはできません。
ただし、質問文に書いてある数式に限れば、下記のように修正すれば期待する動作をさせることはできると思います。
・シート2の「G5セル」に「研修生ごとの時間!C」と入力 (シングルクォート「'」で囲まないこと)
・シート2の「H5セル」に「=B2+2」
・シート2の「C3セル」に「=INDIRECT(G5&H5)」を記述 (文字列の連結は「+」ではなく「&」を使う)
→ 出力「研修生ごとの時間」シートの「C列n行目(nは"B2セルの内容+2"の計算結果)」のセルの内容が表示される。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/19 06:13