
こんにちわ くろすけです。
自身の力足らずで調べきらず、
皆様のお知恵ご拝借!お願いしたくカキコしています。
どうぞ、宜しくお願いします。
ご質問)
sheet2のR1C1に=sheet1!R1C30
sheet3のR1C1に=sheet2!R1C30
というようにいれたいのです。
これを =(sheet(自身のワークシート-1)!R1C30)
と言う形で表わせたら簡便でいいなと思うのですが
Excelで可能でしょうか?
つまり、表題のとおり相対参照時にシート名やR1C1の1の部分に
数式を入れられるのか、それとも数値しか入れられないものなのか、
ご存知の方がいらしたら
その可否、また、方法について教えていただきたいのです。
やりたいこと)
1.目的としては、月ごとにシート分けしたデータ
(x軸:時間、y軸:実績)
について、
本月1日目に前月30日目のデータを参照したい。
2.できるだけマクロを使わず、
Excel表計算機能を利用してできる限り高速に計算を進めたい。
環境)
windows2000,Excel97
アドバイスお待ちしております。
No.2ベストアンサー
- 回答日時:
シート名は、Sheet1、Sheet2、Sheet3・・・・・となっているとします。
下の式は各シートのR1C1(A1)に入力する算式です。
見易くするため4行で書いてますが、つなげて入力します。
=INDIRECT(
"Sheet"&(MID(CELL("filename",R1C1),FIND("Sheet",CELL("filename",R1C1))+5,3)-1)
&"!R1C30"
,FALSE)
2行目は算式のあるシートのシート名を求め、『Sheet』の文字を除いた番号を求め『-1』しています。
>表題のとおり相対参照時にシート名やR1C1の1の部分に数式を入れられるのか・・・
上の式で、シート名は数式で計算できるのが分かったと思います。
セル番地(例では"!R1C30")については、
"!R1C"&(29+1)
のように書けるので、こちらも数式で表現できます。
>2.できるだけマクロを使わず、
>Excel表計算機能を利用してできる限り高速に計算を進めたい。
この方法が『高速』かどうかは不明です。
1つ前のシート番号を求めるのが一番面倒な感じです。1つ前のシート番号を直接手入力していたほうが速いかもしれません。
※以下は参考に書いてみました。
Sheet1、Sheet2、Sheet3が1月、2月、3月に対応しているとします。閏年は別として、
=INDIRECT(
"Sheet"&(MID(CELL("filename",R1C1),FIND("Sheet",CELL("filename",R1C1))+5,3)-1)
&"!R1C"
&CHOOSE((MID(CELL("filename",R1C1),FIND("Sheet",CELL("filename",R1C1))+5,3)-1)
,31,28,31,30,31,30,31,31,30,31,30,31)
,FALSE)
で各月(Sheet2からの)共通の算式になります。前月末日を自動計算しています。
1つ前のシート番号(SheetXのX)を返す次の算式をR1C100にセットしておくと、
(R1C100は邪魔にならない位置の意味です)
R1C100 : =(MID(CELL("filename",R1C1),FIND("Sheet",CELL("filename",R1C1))+5,3)-1)
これで、
=INDIRECT("Sheet"&R1C100&"!R1C"&CHOOSE(R1C100,31,28,31,30,31,30,31,31,30,31,30,31),FALSE)
のようにすっきり?書けます。
お礼 大変遅くなってしまい誠に済みません。
大変丁寧なご回答有難う御座いました。
私の力量不足で上記を忠実に再現することはできませんでしたが
お蔭様で、INDIRECT関数を使えるようになり、
目標どおりのものを作成することが出来ました
大変助かりました。
本当に有難う御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) 【Excel質問】別シートにある複数の同型の表から、同じ行項目にある数字を集計する 4 2023/02/16 00:14
- Excel(エクセル) Excel 売上管理シートに入力した売上データを、日報に自動反映させたいと考えています。 売上管理シ 3 2023/04/29 18:08
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- Excel(エクセル) Excelで日報を自動で作成したい 売上管理シートに入力した売上データを、日報に自動反映させたいと考 1 2023/04/29 18:07
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Excel(エクセル) Excel シート複数 金額日計表と日付 簡単にシートコピーしたら前日の残高と日付を変更させたい 1 2022/07/15 22:10
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルで前シートを参照して...
-
エクセルの複数シートの保護を...
-
別シート参照のセルをシート毎...
-
前の(左隣の)シートを連続参...
-
エクセルでファイルを開いたと...
-
EXCEL:同じセルへどんどん足し...
-
特定のシートの削除を禁止した...
-
Excel、同じフォルダ内のExcel...
-
エクセルで前のシートを連続参...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで複数シートを別のシ...
-
エクセルで「ウィンドウを元の...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
EXCELで1ヶ月分の連続した日付...
-
VBAで条件によりフォントサイズ...
-
Excelのシートを、まとめて表示...
-
エクセル 計算式も入っていない...
-
複数のシートの同じセルに入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
特定のシートの削除を禁止した...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
エクセル 計算式も入っていない...
-
EXCEL:同じセルへどんどん足し...
-
Excel、同じフォルダ内のExcel...
-
複数シートの特定の位置に連番...
-
エクセルVBAでパスの¥マークに...
-
Excelのシートを、まとめて表示...
-
VBAで条件によりフォントサイズ...
-
【Excel関数】値が合致するセル...
-
Accessのスプレッドシートエク...
-
エクセルで前のシートを連続参...
-
VBAでシートコピー後、シート名...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
おすすめ情報