Q&A

回答の並べ替え:
投稿新規に質問を投稿する

LIST関数について

tjtr tjtr

2022-03-11 11:11

質問失礼いたします。

現在添付画像にあるようにLIST関数の中でセルを範囲指定して、その範囲内のデータをリストの項目として指定するものを作成しています。

行いたい内容としては、範囲指定する際にデータ件数に応じて範囲変更したいので、
①現在のシートの、A2セルにデータの取得件数を入れて、A3から取得件数に応じた行数のデータを取得し、リストの項目に指定する方法。
②やり方がわからなかったのですが、理想といたしましては別シートにDBから取得したデータを出力し、その出力内容を元にリストの項目を指定する方法。

上記の①と②の実装方法をご教授いただけませんでしょうか?

tjtr tjtr
回答ありがとうございます。
教えていただいた方法で実現できました。
今回実現したかった方に沿った方法をベストアンサーにさせていただきます。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
こんにちは。

記載されていた内容の取得は、ご回答を頂いている通りですが、リストボックスを生成するLIST関数を利用する場合、私は記載する様な処理はしていないので、情報共有させて頂きます。

LIST関数で表示は、=LIST(1,A3:A100) の様にデータとして可能性のある最大値を固定で入れております。
CELFは空白行が範囲に入っていても、選択肢にはならないので、このようにしております。
ご参考になればと思います。

よろしくお願いいたします。
メールコンタクトをとる
蓼科情報株式会社 蓼科情報株式会社 パートナー
メダルベストアンサー
こんにちは

LIST関数をアクションで作成してセルに設定する方法は以下のように記述すると実現できます。

①同じシート内のセルからリストを作成する場合
="=LIST(1,INDIRECT(""A3:A""&3+A2-1))"
②別シートのセルからリストを作成する場合
="=LIST(1,INDIRECT(""別シート!A3:A""&3+別シート!A2-1))"

ポイントとしては、
 ・範囲を数式を使って作成した場合はINDIRECT関数で括る。
 ・数式をセルに設定する場合""で囲いますが、その中で"を使いたい場合は、
  ""(2重)で記述する。
 ・別シートのセルは 別シート名! をセルの前につけると参照できます。

よろしくお願いします。
メールコンタクトをとる