列の参照をしていて、その列を移動したいです。 Sheet1 A B C 1 1 式 Sheet2 A B C 1 2 Sheet1のA1セルに「1」が入力されています。 Sheet2のA列('Sheet2!A:A)を参照する関数式が、B1セルに入っています。 B1セルの式で、Sheet1のA1セル値が「2」になったとき、Sheet2のB列('Sheet2!B:B)を参照するようにしたいのですが、どうすればよいでしょうか?
Sheet1 の A1 の値によって、Sheet1 の B2 の数式の参照範囲を変えたい。 Sheet1 の A1 が 2の場合には、Sheet2 の B列を参照 A1 が それ以外の場合には、Sheet2 の A列を参照 上記をそのまま解釈するなら =IF(A1=2,SUM(Sheet2!B:B),SUM(Sheet2!A:A)) となるかと。 Sheet1 の A1 が 1の場合 Sheet2 の A列 2の場合 Sheet2 の B列 3の場合 Sheet2 の C列 : と言う事なら =SUM(INDIRECT("Sheet2!C"&A1,FALSE)) の様にしても良いかと。
何をされたいのが不明ですので 「Sheet1のA1セル値が「2」になったとき、Sheet2のB列('Sheet2!B:B)を参照する」この部分だけに 注目した式です。 Sheet1!B1: =INDEX(Sheet2!A:B,,A1) A1が「2」の場合にはSheet2のB列の数列が取得されます。 A1が「1」の場合にはSheet2のA列の数列が取得されます。
説明が拙くてすみません。 Suzuさんの2つ目を行いたいです。 A1セルが1,2,3,4…と増えるにつれて、Sheet2の参照列を1列ずつ右へずらしたいです。
メジロさんの式がいいと思います。 INDEX(Sheet2!A:Z,,A1)で A1=1→Sheet2!A:A, A1=2→Sheet2!B:B になります。 合計したいなら =SUM(INDEX(Sheet2!A:Z,,A1)) 7以上を抽出したいなら =LET(a,INDEX(Sheet2!A:Z,,A1),FILTER(a,a>=7))
引用: Sheet2のA列('Sheet2!A:A)を参照する関数式が、B1セルに入っています。
引用: B1セルの式で、Sheet1のA1セル値が「2」になったとき、Sheet2のB列('Sheet2!B:B)を参照するようにしたいのですが、どうすればよいでしょうか?
んなっと様 適切なアドバイスに感謝します。無事できました。
利用者の皆様にお知らせです。
マイクロソフト オフィス スペシャリスト(MOS)
ビジネス統計スペシャリスト
IC3(アイシースリー)
VBAエキスパート
アドビ認定プロフェッショナル
Microsoft認定資格
App Development with Swift
IT Specialist
外交官から学ぶ グローバルリテラシー
令和のマナー検定