プロが教える店舗&オフィスのセキュリティ対策術

再質問です。エクセルでシートが1から31まであり、日付けが入力されているセルがあります。シート1から31ごとに日にちが割り振られており、シート2から数式が「=’1’!D1:F1+1」と入力されています。7月1日から31日まで割り振られているのを8月1日から31日までシートの数式をまとめて変更したい場合、どう処理すれば31シート分の日付けを変えられるでしょうか?
よろしくお願いします

A 回答 (4件)

>日付けが入力されているセルがあります



とあるので、ここを変えたいのかと思ったのですが。

だとしたら、置換されては?
2022/7/1のように入っているなら、2022/7→2022/8で置換すればできるんじゃないでしょうか?

それにしても、もっと他人にわかるように書かないと何回質問しても堂々巡りになるだけですよ。
    • good
    • 2

こんにちは


なさりたい事は、分かりませんが、もしかしたらと言う事で回答します

EXCEL 串刺し などで調べてみてください
    • good
    • 0

1から31までのそれぞれの数字を名称としたシートが31ある。


……これは分かる。

>シート1から31ごとに日にちが割り振られており、シート2から数式が「=’1’!D1:F1+1」と入力されています。
ここに至ると意味不明。
まあ、シートの数字がそのまま日付になってほしいのだろうと推測はできる。

>7月1日から31日まで割り振られているのを8月1日から31日までシートの数式をまとめて変更したい場合、どう処理すれば31シート分の日付けを変えられるでしょうか?
やっぱり意味不明。
すでに7月1日から31日まで各シートに値が入力されているものを
一度に8月1日から8月31日に変更したい。
ってことなんだろうか。

・・・

自分なら、「日」はCELL関数を使って取得する。
「月」は各シートに共通したセルに入力する。
これなら、シート「1」からシート「31」までを選択して、「月」の数字を入れるだけで良い。

 =CELL("filename",A1)
これでシート名を取得できる。
ただし、ファイル名を含めた文字列になるので、MID関数で切り出してやる必要がある。
各シートで
 C:\Users\paro\Documents\[example.xlsx]1
 C:\Users\paro\Documents\[example.xlsx]2
 C:\Users\paro\Documents\[example.xlsx]3
 …
 C:\Users\paro\Documents\[example.xlsx]31
という値が返るはずです。
"]" が何文字目になるのかをFIND関数で調べてMID関数に渡しましょう。

シート名の数字を2桁にしてあるならRIGHT関数で右から2文字切り出せばOK。このほうが簡単。

あとはA1セルに「8」と入力するなら、
 =TEXT(DATE(,A1,SUBSTITUTE(RIGHT(CELL("filename",A1),2),"]","")),"mm/dd")

とでもするかな。(MID関数は使わない)
    • good
    • 0

質問の仕方は難しいですね。

質問する方は意味がわかると思う書き方をするのですが、読む方は「??」と思うことが多いものです。
で、
>シート1から31ごとに日にちが割り振られており
これって例えばシート20は20日ということですか?
>「=’1’!D1:F1+1」
これはシート1のD1:F1には何が入力されていますか?
>7月1日から31日まで割り振られている
これはどこに?すべてのシートに?
もう少し具体的な説明がほしいのです。
    • good
    • 1

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