
エクセルでindirect 関数を使って作成してますが次のように出来ませんので、どなたか教えてください。
質問を検索してましたが見つけることが出来ませんでした。
以前の回答に同内容の回答があればそれを教えていただけるだけでも助かります。
12枚(1年分)の同一シートが、4月から3月まであります。(シート名は、それぞれ4,5,6・・・3と数字のみです)
別の集計シートに各シートの同座標のセルの集計を串刺し計算で行うと、=sum('4:3'!d20)でいいのですが、indirect関数で
別セルにそれぞれ A1=「4」B1=「3」(可変にして)を入力して参照した結果を求めたいのです。
'4:3'の部分を INDIRECT(A1&":"&B1&"!" & D20)) 等色々試しましたがどうしてもうまくいきません。
(#REF!となったりする)
単シートだけで有れば、=SUM(INDIRECT(A1&"!" & D20))で参照できるのですが・・・・
恐らく、複数シートに設定した時の連続した範囲の「:」の扱い方に問題があるのじゃないかと思うのですがどなたか教えてください。
ちなみに、ピボットテーブルを利用する方法は、想定していません。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
#2です。
もう少し深く調査しましたが、’4:3’をindirect含め他の関数であらわすのは、できそうでできなさそうです。
私の方法が決してベストではありませんが、各シートの合計を集めるだけですので、最初の手間だけで集計項目がいくらあっても一枚のシートで表現できると思います。
また、コメントにありますファイル容量はそれほど増えないと思います。
また、4月から3月というのも計算を複雑にしています。
暦月でなく会計月(3月→第1会計月)とすれば、1から12まで並びますので、もう少しスッキリ処理できると思いますが。
(一般の人には抵抗あるかもしれませんが)
この回答への補足
やはりダメですか?・・・
’4:3’という単純な部分ですが色々その後も試したんですが出来ないようですね。
ご回答のように会計月などすればいいのですが、
データの調査のパターンが
1 4月から12月・1月から3月・翌年4月と
2 4月から2月・3・4月
と
同じデータで集計パターンがありまして・・・
とりあえず、ダイレクトに’4:12’・・・
という単純な串刺し演算の関数で妥協しようかsakuramyloveさんの方法を使わせて頂こうか迷っています。
今回の件で、エクセルに関しての個人的な神話が瓦解してしまいそうで・・ん~それにしても納得がいかないな~
No.5
- 回答日時:
indirectは使わないのですが、
もし、任意の期間の串刺し集計がほしいのであれば、
こんなやり方も考えられます。
(1)4月から3月までの欄を作り、集計を取りたい月に1を入れる。
4 5 6 ~ 2 3
1 1 1
(2)集計シートには、SUMではなく
='4'!(串刺しのセル座標)*$a$2(4月の欄)+'5'!d20*$b$2+…と入力する。(面倒だが、あとはコピーだけ)
これなら任意の月期間の集計ができます。月に重みを加えた集計ももちろん可能です。
的はずれかもしれませんが、いかがですか。
No.4
- 回答日時:
私も試してみましたが、
どうも串刺しのところで引っかかるようです。
もしどうしても関数だけで処理するとなれば、範囲に名前を付けるしかなさそうです。
(あまり楽にはなりませんが……)
集計箇所が多数あるのであれば
マクロで処理するか、ピボットテーブル、
あるいはツール→統合あたりでの処理になるのでは。
と書いたところで、2さんのやり方のD20のところをいじれるようにすれば、他の項目の合計もとれることに気がつきました。この方が楽だと思います。
この回答への補足
やはり串刺しにネックがありそうですね。
エクセルで出来ないことは無いと言う事を
実践したくて今回のファイルはあえてマクロやPBT等を使わない仕様で作成したかったのですが・・・
単シート=OK 串刺し=NG という単純な部分でしたので関数で解決できそうだと感じたのですが・・・
No.2
- 回答日時:
串刺し計算を直接INDIRECT関数であらわすのは難しいのではないかと思います。
次善の策として、以下の方法ではだめでしょうか。
【手順】
別シートを用意し、以下の手順で式を完成させる。
(1)各月のシートの合計を集めるため、C列に暦月を入力
C1=4
C2=5
C3=6
・・・
C12=3
(2)D列に各月のシートの合計を入力
D1=INDIRECT("'"&C1&"'!D20")
上記式をD12までコピー貼り付け
(D1は、='4'!D20でもかまわないが、入力するのが面倒なのでINDIRECTを使用)
(3)D列の最後に合計行を設ける
D13=SUM(INDIRECT("D"&IF(A1>3,A1-3,A1+9)):INDIRECT("D"&(IF(B1>3,B1-3,B1+9))))
(4)A1=開始月、B2=終了月とする。
開始月と終了月は範囲であるので、逆転(開始6月、終了4月)としてもD13には正しく合計が計算されます。
この回答への補足
残念ながら、集計項目が多数あって、ひとつの集計で教えていただいた方法を行うとかなりファイルの容量が増えるので・・・
もともと、串刺しの =sum('4:3'D20) の ’4:3’は
文字列ではないのでしょうか?
出来そうな気がするのですが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのINDEXについて 2 2022/04/17 21:41
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) エクセル 別シートの各セルそれぞれの比率を計算したい 4 2023/08/05 15:20
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) Excelで行削除をすると… 1 2023/07/26 11:57
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelにて、ユーザーフォームで...
-
エクセル条件付書式で指定の時...
-
エクセルで文字が白くなる
-
エクセルで円グラフに引き出し...
-
エクセルで長い行を5行ごとに1...
-
特定の文字を含むシートだけマ...
-
excelのマクロで該当処理できな...
-
エクセルの主軸と第2軸の0を合...
-
Excelで、空白を表示したい
-
Excelのテーブルでセルの書式設...
-
excelグラフでデータテーブルを...
-
【エクセル】オートフィルタで...
-
同一セルに日時があるものを日...
-
エクセルで文字を含む式に、カ...
-
エクセルで、時間 0:00を表示...
-
DATEDIFでマイナス表示をさせたい
-
【エクセル】区切り文字が含ま...
-
Excelマクロのエラーを解決した...
-
1.0未満のデータラベルを自動的...
-
アクセスで#エラーを表示させ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelにて、ユーザーフォームで...
-
indirect 関数を使った複数シー...
-
Excel、複数シート同セルを別シ...
-
【再質問】【マクロ】複数シー...
-
別シートに毎回異なるデータを...
-
Openoffice calc で複雑な入力...
-
エクセルの関数について : CHOO...
-
Excelの操作方法
-
ABC DEF GHI の3個の会社を[...
-
excel マクロで数字を入れると...
-
9枚のシート上の同形式の表を...
-
エクセル 不特定数シートのく...
-
エクセル VBA ユーザフォーム ...
-
excelの表を複数条件でカウント...
-
オートフィルタでデータを抽出...
-
エクセルで三つの条件での参照...
-
vba SUMIF関数で合計を出す
-
エクセルで文字が白くなる
-
エクセルで文字を含む式に、カ...
-
エクセル条件付書式で指定の時...
おすすめ情報