セルC1に入れた文字列で検索をかけ、該当するセル番地を表示させます。
その答えをOFFSET関数の引数として使いたいのですが、可能ですか?
具体的には以下のような式です。
シートは2010年度と2011年度があります。
=$Q7/SUM(OFFSET('2010年度'!(ADDRESS(MATCH($A7,'2010年度'!A:A,0),4)),0,0,1,COUNT($E7:$P7)))

このQ&Aに関連する最新のQ&A

A 回答 (4件)

#2です


>>D列から最大でP列までの合計でいいのかなあ
訂正
D列から 最大O列までです。

=IF(COUNT($E7:$P7)=0,"",Q7/
SUM(INDEX('2010年度'!$D:$D,MATCH(A$7,'2010年度'!A:A,0))
:INDEX('2010年度'!$D:$O,MATCH(A$7,'2010年度'!A:A,0),COUNT($E7:$P7))))

1行目 エラー処理と分子
2行目 合計の開始位置のセル参照を返す
3行目 合計の終了位置のセル参照を返す。

ちなみに、OFFSETやINDIRECT関数を使った数式は、
計算対象外のセルの値を編集/削除した場合にも計算が走ります。
多用は禁物です。
    • good
    • 0

>関数の答えを別の関数の引数で使えますか


文字通りなら、
エクセルの関数の基本原則で何をいまさらと思う。
関数・数式のの結果の値と、手入力などで指定する値は「等価」(置き換え可能ということ)です。
今まで差があった経験はない。
いわゆる関数をネストするとか、セル番地で引数を指定するやり方だ。
ちょっと関連して、ただ数値などでは良いが、番地を表す文字列などはINDIRECT関数をかぶせる必要がある場合がある。
だから聞きたいことを質問表題はカバーしてないのだ。別件の問題であるともいえる。
ーーー
しかし質問の式は何をしたいのか、データ実例をあげて、文章で説明しておくこと。
回答者読者で推測させて、試すようなことはしないこと。
ーー
検証のために下記をテストでやってみた(手数がかかるのだ)
私流の例データ
Sheet1に変える
A列データ
コード
1
6
3
4
5
6
7
D3:F3に1,2,3
=MATCH($A7,Sheet1!A:A,0) で3(3行目に6あり)
=ADDRESS(MATCH($A7,Sheet1!A:A,0),4) で$D$3
=SUM(OFFSET(Sheet1!D3,0,0,1,3)) で6
COUNT($E7:$P7)を3と仮定してみる。
=SUM(OFFSET(INDIRECT("Sheet1!" & ADDRESS(MATCH($A7,Sheet1!A:A,0),4)),0,0,1,3)) で6
両方法で結果は一致。
上記でINDIRECT関数を被せてOKのようだ。その際文字列なので&で結合することになる。
(1)INDIRECTを使ってない
(2)文字列の結合に留意してない
2点が不適当。
    • good
    • 0

D列から最大でP列までの合計でいいのかなあ


=IF(COUNT($E7:$P7)=0,"",Q7/
SUM(INDEX('2010年度'!$D:$D,MATCH(A$7,'2010年度'!A:A,0))
:INDEX('2010年度'!$D:$O,MATCH(A$7,'2010年度'!A:A,0),COUNT($E7:$P7))))
    • good
    • 0

計算例:


=$Q7/SUM(OFFSET('2010年度'!$D$1,MATCH($A7,'2010年度'!$A:$A,0)-1,0,1,COUNT($E7:$P7)))


#「セル番地」は使いません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報