Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11全般 : Microsoft 365)
参照列の移動
投稿日時: 23/04/05 12:55:31
投稿者: nob1122

列の参照をしていて、その列を移動したいです。
 
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)を参照するようにしたいのですが、どうすればよいでしょうか?
 

回答
投稿日時: 23/04/05 13:19:30
投稿者: Suzu

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))
の様にしても良いかと。

回答
投稿日時: 23/04/05 13:20:40
投稿者: メジロ2

何をされたいのが不明ですので
「Sheet1のA1セル値が「2」になったとき、Sheet2のB列('Sheet2!B:B)を参照する」この部分だけに
注目した式です。
 
Sheet1!B1: =INDEX(Sheet2!A:B,,A1)
 
A1が「2」の場合にはSheet2のB列の数列が取得されます。
 
A1が「1」の場合にはSheet2のA列の数列が取得されます。

投稿日時: 23/04/05 13:32:53
投稿者: nob1122

説明が拙くてすみません。
Suzuさんの2つ目を行いたいです。
 
A1セルが1,2,3,4…と増えるにつれて、Sheet2の参照列を1列ずつ右へずらしたいです。

回答
投稿日時: 23/04/05 14:26:15
投稿者: んなっと

メジロさんの式がいいと思います。
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))

回答
投稿日時: 23/04/05 14:40:58
投稿者: WinArrow

引用:

Sheet2のA列('Sheet2!A:A)を参照する関数式が、B1セルに入っています。

実際に入っている数式を掲示してみてください。
 
引用:

B1セルの式で、Sheet1のA1セル値が「2」になったとき、Sheet2のB列('Sheet2!B:B)を参照するようにしたいのですが、どうすればよいでしょうか?

条件はともかくとして
Sheet2のB1に自セルを参照する数式を入力するのですか?
何かおかしくないでしょうか?

投稿日時: 23/04/05 15:57:35
投稿者: nob1122

んなっと様
適切なアドバイスに感謝します。無事できました。