![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
こんにちは。
みなさんのお知恵をお借りしたく、質問させていただきました。
エクセルで月別のシートを作っているのですが、
当月シートに前月のデータを参照させたいと思っています。
例えば11月セルB1に10月のA1のデータをかえすといったように。
もちろん10月シートを指定すればよいのでしょうが、
それではシート毎に個別に参照を設定しなければならず、
ちょっと面倒だなと感じております。
上記の方法では11月のシートをコピーして12月のシートを作成しても
前月参照セルは10月のシートを参照してしまうことになります。
常に前月のシートを参照するためにはどうすればよいのでしょうか?
シートを相対参照すればよいのかと思いますが、その方法がわかりません。
勉強不足で申し訳ありませんが、ご存知の方いらっしゃいましたら教えてください。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
シート名が、シートコピーをする度に変わらないといけないのなら、
絶えずどこかで変えてやらないと関数では難しいと思います。
私が思った例は、
シートコピーをした際にA1に絶えずその月数を入れてやれば
下記式で前月のシートを参照できます。
たとえばA1に"11"と入った11月のシートを
コピーして11月(2)を作ります。
そのシートのA1に"12"と入れてやれば10月では無く
11月のシートデータを参照します。
そして、11月(2)のシート名を12月とすれば、
次の1月になって12月シートをコピーしたときも
12月(2)のA1に"1"と入れ変えるだけで
参照先を12月のシートに出来ます。
=INDIRECT("'"&IF(A1=1,12,A1-1)&"月'!C2")
こんばんは。早々のご回答ありがとうございます。
教えていただいたとおり、入力してみると希望通りの結果に!
本当に助かりました。
今まで全くINDIRECT関数を使ったことがなかったのですが
(というより、どう使えばいいのかわからなかったです)
とても勉強になりました。
ありがとうございます!
まだINDIRECT関数がぼんやりわかった位なので
もっと活用できるように勉強させていただきます。
No.3
- 回答日時:
関数におけるシートの指定は
(1)名前
によるだけです。
VBAではSheets(1)やActivesheetなどの指定がありますが、関数では
名前しかない。
ーー
そこで前月を算出できるのは
(1)シート名に数字がある命名の場合 シート名の月の部分は、前月はN-1です
(2)シート名の番号に頼れない命名の場合はそれがわかる表が必要です。
ーー
どちらもINDIRECT関数しかないと思う(ユーザー関数を除いて)。
ーー
(1)の場合A1に月数があるとして
A1 ーーA2ーーーーーーD2(繰越残・式)ーー D2の値ーーー D20(末算)
11 繰越残ーーーー略 ------------------------ --123-----111
12 繰越残----=INDIRECT("Sheet"&(A1-11)&"!D20")--111-----222
1 繰越残----=INDIRECT("Sheet"&(A1-11+12)&"!D20")--222-----333
2 繰越残----=INDIRECT("Sheet"&(A1-11+12)&"!D20")--333-----444
3 繰越残----=INDIRECT("Sheet"&(A1-11+12)&"!D20")--444-----555
4 繰越残----=INDIRECT("Sheet"&(A1-11+12)&"!D20")--555-----666
以下略。
こういうのでコピーできたといえるのでしょうか。代替は前月のD2の式をコピーしてOKですが、12->1でわずかな手直しが必要です。
ーーー
11-翌10月の各月のシート名を「あ、い、う、え、お、・・」とした場合
表をSheet6のI1:I12に、1月ずらしでもち
い
う
え
お
か
き
く
け
こ
さ
し
あ
と持った場合
12月のシートのD2には
=INDIRECT(INDEX(Sheet6!$I$1:$I$12,A1,1)&"!D20")
と入れると、上記例と同じにできる。今度はシート間同一場所セルへコピーだけでできるよう。
ーー
ちょっと複雑になったのですが、こういうことになりませんか。
こんばんは。
とても詳しい説明ありがとうございます。
わかりやすくて、INDIRECT関数の意味が理解できました。
教えていただいたことを活かして他にも色々できそうで嬉しいです。
どうもありがとうございました!
No.2
- 回答日時:
こんばんは。
>それではシート毎に個別に参照を設定しなければならず、ちょっと面倒だなと感じております。
以下のような数式は結構知られていますし、かつて、手前のシートの番号を取るという、マクロ関数を使ったワザもあるのですが……。そちらは、一応、ExcelのVersion しだいといことになりそうです。
=INDIRECT(MOD(SUBSTITUTE(MID(CELL("filename",A1),FIND("]",CELL("filename"))+1,3),"月","")+10,12)+1&"月!A1")
こんばんは。
ご回答ありがとうございます。
すみません、勉強不足でせっかくおしえていただいた式を
まだ理解できていません。
これから考えさせてもらいますね。
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel セルに入っている日付を参照して、別シートのリストを表示させたい 1 2022/04/12 17:02
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセル シート比較で書式を変えるを繰り返したい 2 2023/05/05 11:25
- Excel(エクセル) エクセルでセルの日付を和暦表示設定にしたらおかしなことに? 3 2022/05/25 11:47
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Excel(エクセル) 【エクセル】文中に別シートのセルの内容を自動入力したい 6 2022/11/17 11:30
- その他(Microsoft Office) エクセルの休日について教えてください。 1 2023/01/06 15:45
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Excel(エクセル) VBAで同フォルダ内の別ブックを開かず参照して条件の一致する行の指定セルを抽出するには? 1 2022/07/21 19:29
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルで、月によって参照するシートを自動的に変える関数
Excel(エクセル)
-
エクセルでシートまたぎのセルの数値の参照
Excel(エクセル)
-
前の(左隣の)シートを連続参照するように、あとから変更したい
Excel(エクセル)
-
-
4
Excelで金銭出納帳。繰越残高を翌月へ・・・
その他(パソコン・スマホ・電化製品)
-
5
エクセル 指定した月のデータを自動的に反映させられる方法
Excel(エクセル)
-
6
エクセルで前のシートを連続参照したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの表で1年間の曜日を...
-
エクセルでの特別な文字を上に...
-
エクセルでB列でフィルターをか...
-
お世話になります。 Excelを使...
-
エクセルでセルに標準で入力さ...
-
EXCELの質問です 119から足した...
-
UNIQUE関数が使えないバージョ...
-
【マクロ】VLOOKUPにて参照元に...
-
エクセルで会社の従業員のデー...
-
Excel VBについての質問です。
-
【マクロ】アクティブセルにブ...
-
libre 表計算ソフトの計算がう...
-
エクセルの空欄をつめて、次の...
-
エクセルの問題です。絶対値の...
-
Excelで、項目の種類ごとにカウ...
-
【マクロ】アクティブセルの、...
-
exselで最小数で並び替える関数
-
「問題が発生しました」ですと?
-
CELL関数のヘルプ文の意味?
-
エクセルのコメントのデザイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報