月末処理を忘れてました。=IF(C1="","",INDIRECT(DAY(C1)&"!D5"))に修正します。通報するこの回答へのお礼お礼が遅くなりました。求めていたのはこれです!!有り難うございました。通報するこの回答へのお礼レス有り難うございます。これはやってみたのですが、できなかったので質問させていただいてます。アドバイスいただいたのにすみません。16:25エラーの出る計算式を=INDIRECT(DAY(C1)&"!D5")とすれば通りそうに思えます。C列の、見た目が1,2,3...となっている部分の実際の値はシリアル値(日付を表す5桁の数値)になっているのではありませんか?シリアル値から、見た目どおりに「日」を表す数値1,2,3を取り出すのがDAY関数です。関数」に関するQ&A:条件によって色が変わるエクセル関数を教えてください。エクセル」に関するQ&A:Excelエクセルで数値にプラス(+)、マイナス(-)をつけたい。エクセル:参照しているセルが削除されても数式の参照セル値を変えない。回答数ランキングです。エラーになるSheet1とSheet2があり、Sheet1のA1には「tset」という値が入っています。そこで、Sheet2の任意のセルにSheet1のA1の値を入れたいのですが「=Sheet1!A1」なら可能なのにSheet2のA1に「Sheet1」と入力しSheet2のA2に「=INDIRECT(A1)!A1」とするとエラーになります。あるとおり、文字列を引数とします。「セル参照」あるいは「セル範囲に付けられている名前」を表す文字列(参照文字列)を引数として指定しますが、代わりにセル参照を指定した場合は、参照元の文字列を関数が受け取ってきます。シート名のみを引数とする方法は、ありません。正しいセル参照になる文字列でありさえすれば、自由に文字列をつなげて作ることができます。あるとおり、文字列を引数とします。「セル参照」あるいは「セル範囲に付けられている名前」を表す文字列(参照文字列)を引数として指定しますが、代わりにセル参照を指定した場合は、参照元の文字列を関数が受け取ってきます。シート名のみを引数とする方法は、ありません。=indirect(sh...続きを読む他の回答も見るQINDIRECT関数のエラー回避について文字を表示させようと=IFERROR(INDIRECT(K4&"'!C"&L4),"")を使用しましたがINDIRECT(K4&"'!C"&L4)がエラー(#REF!)となり「空欄」になります。これはそのような構文なので理解できます。K4は=IFERROR(INDEX(($N$1:$R$1),1,MATCH(ROW()-1,$M$2:$R$2)),"")の構文で「sheet2」と、またL4は=IFERROR(IF($K4="","",IFERROR((HLOOKUP(ROW(),$M$2:$R$3,2,0)),ROW()-HLOOKUP(ROW(),$M$2:$R$2,1)))+$M$2,"")で「4」を表示しています。何が違うのか、ネットなどで調べましたが分かりません。「K4&"'!C"&L4」は「sheet2!C4」を想定していて、その場所のセルで示す文字を表示させようとしています。直接セルを指定すると「’sheet2’!C4」という文になりK4に当たる「sheet2」がクォーテーションで挟まれますので構文で示すものと「異なる」ことになるのでしょうか?ネットにでは見つけられませんでしたが「&」を複数使用することはできないのでしょうか?説明不足なのかも分からないところです、よろしくお願いいたします。文字を表示させようと=IFERROR(INDIRECT(K4&"'!C"&L4),"")を使用しましたがINDIRECT(K4&"'!C"&L4)がエラー(#REF!)となり「空欄」になります。これはそのような構文なので理解できます。K4は=IFERROR(INDEX(($N$1:$R$1),1,MATCH(ROW()-1,$M$2:$R$2)),"")の構文で「sheet2」と、またL4は=IFERROR(IF($K4="","",IFERROR((HLOOKUP(ROW(),$M$2:$R$3,2,0)),ROW()-HLOOKUP(ROW(),$M$2:$R$2,1)))+$M$2,"")で「4」を表示しています。何が違うのか、ネットなどで調べましたが分かりません。「K4&"'!C"&L4...続きを読むAベストアンサークォーテーションはいらない。クォーテーションで囲む必要があるのはシート名に空白(スペース)を含むときだけで良い。しても付けたいときには、INDIRECT("’"&K4&"'!C"&L4)のように前にもつけること。・・・そのまえに「sheet2」ではなく「Sheet2」ではないだろうかと思ったりする。他の回答も見るQエクセルで条件に一致したセルの隣のセルを取得したい下のような「得点」という名前のシートがあります。(「田中」のセルがA1です。]のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。「得点」シートでは氏名が重複する事はありません。IF文を使うと思うのですが、いまいち良く分かりませんでした。Aベストアンサーこんにちは!VLOOKUP関数で対応できます。IF関数と併用すればエラー処理が可能です。Excel2007以降のバージョンであればB1セルに=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")としてC1セルまでオートフィルでコピー!そのまま下へコピーすると行が2行目以降でも対応できます。_)m他の回答も見るQエクセルで左隣シートの特定のセルの値を表示させたいエクセルで左隣シートの特定のセルの値を表示させたいのですが、どのようにすればよいでしょうか?似たような質問の回答をいくつか試したのですが、よく理解できていないため、うまく応用できずエラーになってしまいます。="No."&SUBSTITUTE(MID(CELL("filename",$A$1),FIND("(",CELL("filename",$A$1))+1,5),")","")とか=INDIRECT(SUBSTITUTE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),"日","")-1&"日!A"&ROW(F24))とか=SUM(INDIRECT("'"&(SUBSTITUTE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),"日","")-1)&"日'!c5"),F24)とかといった式が参考になりそうですが、結局どう書き変えればいいのかわかりません。具体的には、シート名が「04」「05」...「12」「01」「02」「03」と1年分の12シートあります。半角2桁のみのシート名です。「左隣シートのF24のセルの値を表示させたい」のです。(F24のセル自体は「=F11+F23」という式が入力されています。消しただけではムリそうなのでそのままコピーしています。おわかりになる方、どうぞよろしくお願いします。エクセルで左隣シートの特定のセルの値を表示させたいのですが、どのようにすればよいでしょうか?似たような質問の回答をいくつか試したのですが、よく理解できていないため、うまく応用できずエラーになってしまいます。="No."&SUBSTITUTE(MID(CELL("filename",$A$1),FIND("(",CELL("filename",$A$1))+1,5),")","")とか=INDIRECT(SUBSTITUTE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),"日","")-1&"日!A"&ROW(F24))とか=SUM(INDIRECT("'"&(SUBSTITUTE(RIGHT...続きを読むAベストアンサー05から03までのF1セルに=INDIRECT(TEXT(RIGHT(CELL("filename",A1),2)-1,"00;;12")&"!F24")と記入します。他の回答も見るQ複数シートの同じセル内容を1シートに順番に貼り付けたい複数あるシートの同じ番地のセルをコピーして、1シートの一覧にしたいと思っています。簡単な方法があったら教えてください。次のようにしてはどうでしょう。あるシートのA2セルから下方に例えばSheet1,Sheet2などとシート名を入力します。B1セルには表示したいセル番地を例えばA1のように入力します。他にも表示させたい場合にはC1セルにセル番地を入力します。そこでB2セルには次の式を入力し右方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。表から値をさがして隣のセルの値を返すお願いします、教えて下さい。VLOOKUPのようにいまから左端に番号などを入れる手間無く、値を返したいです。同シート上で表をふたつ作っても構いません、どなたか教えて下さい。質問者さんの意図にあっているかどうかわかりませんが。内容を見る限りでは2つ目のbookのA列が検索値になるようでしたら、=VLOOKUP(A1,Sheet1!A1:B5,2)では如何でしょうか?1つ目のbookをsheet1、2つ目のbookをsheet2で考えてます。左上よりA1としてますので確認ください。他ファイル参照INDIRECTの関数を使って,他のエクセルファイル(以下Bファイル)を参照すると,Bファイルを開いているときは正しく数値を表示しますが,Bファイルを閉じるとエラー表示になります。回避する方法は無いでしょうか?(元ファイルと,Bファイルの両方から参照先に関する情報を得ているので,INDIRECT関数は,必須かと思っています)参考までに3種類試したソースを示します。できれば3は避けたいと考えています。ご意見よろしくお願いします。1:=INDIRECT("'[★★★Bファイル.xlsx]"&$A27&"'!o$7")エラー表示になります。2:=INDIRECT("'"&MID(CELL("filename",$A$1),1,FIND("[",CELL("filename",$A$1))-1)&"[★★★Bファイル.xlsx]"&$A26&"'!o$7")エラー表示になります。(パスまで含めて参照)3:='C:\Users\test\[★★★Bファイル.xlsx]213旅費'!O$7正常(常に数値を表示します)Aベストアンサー>回避する方法は無いでしょうか?INDIRECT関数を使っている限り、回避できません。外部データの取り込み機能で一時的にデータをすべて持ってくれば、同一ブック内になるので参照できます。(閉じるときに取り込んだデータを破棄できます)手間が状況に左右されるので、マクロで3のようにしてしまう方が簡単かもしれません。左隣のセルという指定は出来ますか?行は同じで、列番号-1というように指定したいです。Aベストアンサーこんばんは!当方もNo.2さんと同じ疑問を持ちつつ・・・とりあえず=INDIRECT(ADDRESS(ROW(),COLUMN()-1))という数式を入れておけば、どのセルに数式を入れても常に左隣のセルが返ります。A列に上記数式を入れるとエラーになります。Inc.Q質問する(無料)Q&A検索goo検索gooIDで新規登録・ログイン新規登録する(無料)会員の方はこちら外部サービスのアカウントで新規登録・ログインYahoo!で新規登録・ログインGoogleで新規登録・ログインTwitterで新規登録・ログインFacebookで新規登録・ログインdアカウントで新規登録・ログイン※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。会員でない方、会員になるとあなたも質問や回答ができるようになります!!親切・丁寧な回答が集まる場30分以内に回答がもらえ回答数は平均3件!匿名(ニックネーム)での投稿なので。