- ベストアンサー
関数の答えを別の関数の引数で使えますか?
セルC1に入れた文字列で検索をかけ、該当するセル番地を表示させます。 その答えをOFFSET関数の引数として使いたいのですが、可能ですか? 具体的には以下のような式です。 シートは2010年度と2011年度があります。 =$Q7/SUM(OFFSET('2010年度'!(ADDRESS(MATCH($A7,'2010年度'!A:A,0),4)),0,0,1,COUNT($E7:$P7)))
- みんなの回答 (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関数を使った数式は、 計算対象外のセルの値を編集/削除した場合にも計算が走ります。 多用は禁物です。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
>関数の答えを別の関数の引数で使えますか 文字通りなら、 エクセルの関数の基本原則で何をいまさらと思う。 関数・数式のの結果の値と、手入力などで指定する値は「等価」(置き換え可能ということ)です。 今まで差があった経験はない。 いわゆる関数をネストするとか、セル番地で引数を指定するやり方だ。 ちょっと関連して、ただ数値などでは良いが、番地を表す文字列などは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点が不適当。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
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))))
- keithin
- ベストアンサー率66% (5278/7941)
計算例: =$Q7/SUM(OFFSET('2010年度'!$D$1,MATCH($A7,'2010年度'!$A:$A,0)-1,0,1,COUNT($E7:$P7))) #「セル番地」は使いません。