Excel 2007、テーブルを使用して何を返すかを決定する Vlookup

Excel 2007、テーブルを使用して何を返すかを決定する Vlookup

かなり複雑なパズルをやりたいのですが、それが可能かどうかはよくわかりません。マクロの作成を避けて関数だけを使用するようにしたいのですが...

10 列 x 20 行の別の表に基づいて、幅 1 列 x 高さ 1 行の情報表を作成したいのですが、関数で表 2 の行 Y (単一のセルで指定) まで調べて横に読み取り、たとえば 5 に到達したら表 1 に移動し、セル A1、A2、A3、A4、A5 の情報をコンマで区切って表示したいのですが。

現在、各関数は存在します (Vlookup がほとんどの処理を実行します。テキストを列に変換する機能があり、これを逆にできれば完璧です) が、それらをすべてまとめるのは非常に複雑であることがわかります。

一連の Vlookup 関数で実行できますが、VBA なしで「これを X 回繰り返し続ける」という方法を知りません。

答え1

Excelには範囲を連結する組み込み関数がないので、VBAを使用するか、MorefuncアドインをダウンロードしてMCONCAT関数を使用する必要があります。できる範囲を連結するか、一連の IF を連結します。

5をどうやって得たのかは分かりませんが、基本的にその値がxであれば次のようになります。

=SUBSTITUTE(IF(ROW(A1)<= x,","&A1,"")&IF(ROW(A2)<= x,","&A2,"")&IF(ROW(A3)<= x,","&A3,"")&IF(ROW(A4)<= x,","&A4,"")&IF(ROW(A4)<= x,","&A4,"")&IF(ROW(A5)<= x,","&A5,"")&IF(ROW(A6)<= x,","&A6,""),",","",1)

必要に応じて拡張し、x をその値を取得する関数(またはその関数を含むセル参照)に置き換えます。

関連情報