- ベストアンサー
エクセルで左シートの指定したセルを参照させるには?
お世話になります。 エクセルで作業日報を作っております。 シートの左から右へ1日ずつ日報を作っていて、前日に書いた予定(左シート)を次の日の結果欄に自動で出るようにしたいのです。 いままでは前日の予定をコピーし翌日の結果へ張り付けていましたが、自動で出る方法があるとのことで、自分なりにネットで調べましたが、ネットに紹介されている式をコピーしていじってみても、うまくできません。 常に右のシートのA1を参照 というような式を教えていただければ、うまくいくと思うのですが、どうぞアドバイスお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
シート名に一定の数字などの基準があれば、関数だけで自分のシートの前のシートのデータを表示させることができます。 例えば、元データの予定欄がA2セル以下にあり、シート名が「1日」「2日」「3日」のような規則性のある名前になっているなら、以下の式を入力して下方向にドラッグすれば、1日前のシートの予定欄のデータが表示されます。 =INDIRECT(SUBSTITUTE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),"日","")-1&"日!A"&ROW(A2)) もしシート名がデフォルトのまま「Sheet1」「Sheet2」などになっている場合は以下のような式になります。 =INDIRECT("Sheet"&SUBSTITUTE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),"日","")-1!A"&ROW(A2)) ちなみに、すべてのシートに同じ式をまとめて入力するには、Shiftキーを押しながら、2日のシートと最後の31日のシート名部分をクリックして作業グループにして数式を入力してオートフィルコピーしてください。 参照するデータが文字列なら数式の最後に「&""」を付けて対応するのが簡単です。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルで何かをしたい場合、 (1)人間が判断して操作ーーー>これがメイン (2)関数ーーー>これで出来る課題ならよく使われる (3)VBA(プログラム) (4)出来合いのプログラム製品(アドインやその他ソフト) などが在る。質問者はこのどれでやるか・出来るのかという認識がないレベルだろう。 ーー もうひとつ (2)の関数は、シートのセルの値を取ったり、加工したりするのがせいぜいであることをはっきり判っていないのでは。 例外的にごく一部の課題(ファイル名・シート名などの取得)が関数で出来たりするが。 Googleで「エクセル関数 ファイル名取得」で照会のこと。 参考 http://kokodane.com/kan54.htm ーー だから(2)で出来ないかと聞いているなら、隣(左隣の「シート名も)のシート名を取る関数はない。 VBAでなら簡単に出来る(回答は、質問者がVBAのことを触れてないので略)。 (4)は本件に関しては、VBAで出来ることなので、問題外です。 ーー VBAが出来ないだろうから、あきらめてください。または時間をかけて勉強するか。 日次2と言うシート名シートを処理している場合、日次1と言うシート名(2-->1を割り出す)ようなのは出来るかもしれない。
- aokii
- ベストアンサー率23% (5210/22062)
翌日の結果 のセルをクリックして = と入力し、前日の予定をクリックしてEnterをクリックしてみて下さい。