R1C1形式。別シート参照時について

このQ&Aのポイント
  • R1C1形式でセルを参照する数式を別のシートに入力し、参照させる方法についての質問です。
  • 数式を別のシートに入力して、そのシートから入力用シートの列やセルを参照して値を求めたいと考えています。
  • 式が複雑でどこにどのようにシート名を入れればよいかわからず、エラーが出てしまいます。
回答を見る
  • ベストアンサー

R1C1形式。別シート参照時について

題名が意味不明ですが申し訳ありません。 下記のような数式があります。 こちらのサイトで教えていただいた関数であり、すごく難しくて私もはっきり理解できてはおりませんが、R1C1形式で、セルを参照するようになっているのかな~というところまで、理解できました。 =IF(AND(ISNUMBER(INDEX($D:$D,ROW())),INDEX($D:$D,ROW()+1)=""),SUM(INDIRECT("R"&MATCH("゛",OFFSET(INDIRECT("R1C"&COLUMN($B:$B),FALSE),,,ROW()),-1)&"C"&COLUMN($D:$D)&":R"&ROW()&"C"&COLUMN($D:$D),FALSE)),"") この数式は、’同じシート’の、D列なり、特定のセルなり、、を参照しておりますが、この数式を別のシートのセルに入力して、そこから、このシートを参照させようと思います。 つまり、このシートはもともと’入力用’という名前のシートなのですが、別のシートから、この’入力用’シートの列なりセルなりを参照して値を求めたいのです。 この場合、入力用!というような文字を入れればいいのは知っているのですが、式が複雑すぎるため、どこにどう記入してよいのかがわかりません。自分なりにいろいろやってはみたのですが、REF#となってしまいました。 どこにシート名を入れればうまくいくのか教えていただけないでしょうか。 何卒お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • m_and_dmp
  • ベストアンサー率54% (974/1797)
回答No.1

「$D:$D」など、セルを参照している部分の前に「入力用!」を入れたらいいと思います。 簡単な方法があります。数式が複雑なのでうまくいくかどうか自信はありませんが、この式が入力されているセルを選択して切り取り、別のシートの数式を入力したいセルに貼り付けると必要なところに自動的に「入力用!」が入ります。bookが違ってもOKです。 切り取り・貼り付けです。コピーではだめです。

ami0607
質問者

お礼

ありがとうございました。今回は、この複雑な数式をずっと眺めていたらあるときひらめいて、解決できました。 教えていただいた方法は次回利用してみます。ありがとうございます。

関連するQ&A

  • 別シートへのセル参照について

    別シートへのセル参照についての質問です。 例えばSheet1のA1,B3,C6,G9に値が入っているとします。 その値を順にSheet2のB2,C4,D9,E17に参照したいのですが、 それぞれにセル参照しないとダメなんでしょうか? Sheet1,Sheet2に違う種類の表があって、それぞれに同じ値を入力するんですが、Sheet1に入力すれば自動的に入るようにしたいです。 実際はSheetや、値を入力するセルがかなり多いので、ひとつひとつセル参照するのが大変なので・・・よろしくお願いします。

  • エクセル2000の機能について質問

    エクセル2000を使っているのですが、聞きたい事があって投稿しました。 質問の説明が上手く出来ないのですが、例えば… A1:3 B1: C1:6 D1:5 E1:  のように、セルに数値があります。 これを左から読み取り、最終的に一番右端に入力されている数値だけを抜き取り、別のセル(例えばG1)に表示させるみたいなことって出来るんですか? 補足として入力されていなければ読み込まない。 知り合いに聞いたら、 >結果を表示したいセルに >=INDIRECT("R"&MAX(IF(ISNUMBER(セル番号:セル番号),ROW(セル番号:セル番号)))&"C"&COLUMN( セル番号,セル番号),FALSE)と入力し >{Ctrl}+{Shift}+{Enter}で確定し配列数式とする。 >確定後、数式は、{ }でくくられ、配列数式となる。 >手動で{ }を入力してはダメ。 >セル番号のとこは計算したい選択範囲を入力。 >A1からA5のあいだ入力された右端の数値をA7に出したいばあいA7に >=INDIRECT("R"&MAX(IF(ISNUMBER(A1:A5),ROW(A1:A5)))&"C"&COLUMN(A1:A5),FALSE) >を入力 って言われました。 やってみたけど、出来ませんでした。 誰か教えてくれませんか? お願いします。

  • R1C1参照形式を分かっていませんので伺います。

    参照対象のセルを含む『列』の全体を範囲指定したい場合には、 R1C1参照形式で"column():column()"の方式を使わざるを得ないのでしょうか?

  • ROW関数について

    先日質問をしたのですが、理解が足りないようなので質問させて頂きます。 ROW関数はセルを入力したそのセルの行番号を返すものだと思うのですが、例えば =INDEX(シート1!C2:シート1!HR2,(ROW()-3)*3+1,) このような数式をワークシート2のD3のセルに入れると、ROW()は3と解釈されるので、 ・範囲はData!のワークシートのC2からHR2まで、 ・(3-3)*1+1となるので、その範囲内の1番であるData!D2セルを参照するのだと思うのですが、何か間違っているでしょうか? この際に、ROW()に参照されるセルは、もしかしてシート1のものなのでしょうか? 宜しくお願いしますm(_ _)m

  • 別のセルの値を参照したとき

    別のセルの値を参照したとき いつもお世話になります。 Windows XP EXCELL2003 です。 1年間の顧客の宿泊状態を管理するためにG H列で同じ名前の顧客をカウントしています。 用途は後ほどダイレクトメールにて販促活動に使用します。 各セルには次のように 参照図(2)で G2 =IF(COUNT(入力!$F$2:$F$100)<ROW(B1),"",INDEX(入力!$B$2:$B$100,SMALL(入力!$F$2:$F$100,ROW(B1)))) H2  =IF(G2="","",COUNTIF($B$2:$B$29,"*"&G2&"*")) I2  =PHONETIC(B2) という数式が入っています。 A7:D7 に入力したとき、I7 (タカダ トミオ)のみが出ます。 G7:H7 は空白になるように数式がされています。 ここで問題になるのは I7 (=PHONETIC(B7) ば数式が入ったB7を参照しています。 数式(B列)が入ったセルにはどういう数式にすれば半角カタカナが可能でしょうか。 可能ならば是非ご指導を仰ぎたいです。 よろしく御願いします。

  • シートの違うセルを参照したいのですが・・・

    Sheet1 A1  B1  C1  D1 Sheet2 F1 F2 F3 F4 Sheet1 A1 のセルには Sheet2 F1 のセルを Sheet1 B1 のセルには Sheet2 F2 のセルを 参照するような数式を作成したいと思っています。 お教えくださいますよう、お願いいたします。

  • Excel2010にて別シートを参照したい

    わかった気になっていたのですがまた詰まってしまい、付近に聞ける人がいないので質問です。 Excelのシート1に名前と郵便番号と住所を書いて、誰がどこに住んでて郵便番号が何番かすぐ見れるようにしたいと思っています。 しかし名前と住所は一人一人違っても郵便番号は被ることがあるので、別シート(シート2)にまとめて書いて、住所を書いたセルを読み取ってもらい、自動で郵便番号が出るようにしたいと思っています。 =IF(C2="","",  IF(OR(ISNUMBER(FIND(Sheet2!$B$2:$G$2,C2))),INDIRECT("Sheet2!$A$2"),  IF(OR(ISNUMBER(FIND(Sheet2!$B$3:$G$3,C2))),INDIRECT("Sheet2!$A$3"),  IF・・・・ ※1つの郵便番号に対し複数の住所を参照させようとしているのは、人によって「字」が書かれていたり「の」と「ノ」の違いをそのまま住所に入力しても判別できるようにしたいためです。 ↑は郵便番号を表示させたいところに書いているのですが、思ったような結果が出てくれません。 どうすれば改善できるでしょうか?ご指導よろしくお願いします。m(_ _)m

  • 別シートに勉強時間の集計結果を表示 仕組みが・・・

    お世話になっています 質問No.9097443 及び 質問No.9089695 でご指導いただきました。 勉強時間を集計したシートA列:科目 B列:開始日 C列:開始時刻 D列:終了日 E列:終了時刻 の記載があるsheet1には終了時刻から開始時刻を差し引いた作業時間を表示する列がない。 sheet1に差引の作業時間列を追加することなく、別のシートで各科目の勉強時間を集計する方法を教えてもらいました。 レクチャー頂いた内容は ************************************************************************************* Sheet3のA列とB列を作業列として使用して、Sheet2に科目ごとの勉強時間の合計を集計するものとします。 Sheet3のA2セルに次の関数を入力して下さい。 =IF(INDEX(Sheet1!$A:$A,ROW())="","",IF(COUNTIF(Sheet1!$A$1:INDEX(Sheet1!$A:$A,ROW()),INDEX(Sheet1!$A:$A,ROW()))=1,ROW(),"")) Sheet3のB2セルに次の関数を入力して下さい。 =IF(OR(INDEX(Sheet1!$B:$B,ROW())="",INDEX(Sheet1!$C:$C,ROW())="",INDEX(Sheet1!$D:$D,ROW())="",INDEX(Sheet1!$E:$E,ROW())=""),"",IF(ISERROR(1/(YEAR(INDEX(Sheet1!$B:$B,ROW()))>1904)/(INDEX(Sheet1!$C:$C,ROW())+0>=0)/(INDEX(Sheet1!$C:$C,ROW())+0<1)/(YEAR(INDEX(Sheet1!$D:$D,ROW()))>1904)/(INDEX(Sheet1!$E:$E,ROW())+0>=0)/(INDEX(Sheet1!$E:$E,ROW())+0<1)),"",IFERROR(TEXT(INDEX(Sheet1!$D:$D,ROW())+INDEX(Sheet1!$E:$E,ROW())-INDEX(Sheet1!$B:$B,ROW())-INDEX(Sheet1!$C:$C,ROW()),"[h]:m:s")+0,""))) Sheet2のA2セルに次の関数を入力して下さい。 =IF(ROWS(A$1:A2)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$A:$A,SMALL(Sheet3!$A:$A,ROWS(A$1:A2)))) Sheet2のB2セルに次の関数を入力して下さい。 =IF($A2="","",TEXT(SUMIF(Sheet1!$A:$A,$A2,Sheet3!$B:$B),"[h]:m:s")+0) ************************************************************************************* 実践できたものの、仕組みが複雑でわかりません。 Sheet3のA2では、IF関数の中で、COUNTIF関数が使われていますが、なんのためなのかわかりません。 Sheet3のB2セルには関数の中に">1904"と数値の1904より大きい値を指定する関数が組み込まれたいますが、なんのためか理解できていません。 Sheet2のA2では、「Sheet2のA1:A2がSheet3のA列より大きい」という条件に適合しなかった場合、最小値を求める計算をしていますが、何のために行っているのかわかりません。 Sheet2のB2では、A2に適合しなかった場合、Sheet1のA列から何かを何かの条件に一致したものを合計して時間表示していますが、よくわかりません。 簡単でいいので、解説をお願いできませんでしょうか? すみません、理解力が乏しいもので申し訳ありませんが、よろしくお願い致します。

  • 別シートに勉強時間の集計結果が表示されない

    こんばんは。 http://okwave.jp/qa/q9089695.html 質問No.9089695 上記前回質問でお世話になりました。 勉強時間を集計したSheet1には Sheet1にA列:科目 B列:開始日 C列:開始時刻 D列:終了日 E列:終了時刻 の記載があります。 終了時刻から開始時刻を差し引いた作業時間を表示する列がありません。 頂いたアドバイスとして、 *********************************************************************************************************** Sheet3のA列とB列を作業列として使用して、Sheet2に科目ごとの勉強時間の合計を集計するものとします。 Sheet3のA2セルに次の関数を入力して下さい。 =IF(INDEX(Sheet1!$A:$A,ROW())="","",IF(COUNTIF(Sheet1!$A$1:INDEX(Sheet1!$A:$A,ROW()),INDEX(Sheet1!$A:$A,ROW()))=1,ROW(),"")) Sheet3のB2セルに次の関数を入力して下さい。 =IF(COUNT(INDEX(Sheet1!$B:$E,ROW(),))=4,IF(ISERROR(1/(INDEX(Sheet1!$B:$B,ROW())=TEXT(INDEX(Sheet1!$B:$B,ROW()),"yyyy/m/d")/(INDEX(Sheet1!$B:$B,ROW())>=1))/(INDEX(Sheet1!$C:$C,ROW())=TEXT(INDEX(Sheet1!$C:$C,ROW()),"h:m:s")+0)/(INDEX(Sheet1!$D:$D,ROW())=TEXT(INDEX(Sheet1!$D:$D,ROW()),"yyyy/m/d")/(INDEX(Sheet1!$D:$D,ROW())>=1))/(INDEX(Sheet1!$E:$E,ROW())=TEXT(INDEX(Sheet1!$E:$E,ROW()),"h:m:s")+0)),"",IFERROR(TEXT(SUM(INDEX(Sheet1!$D:$E,ROW(),))-SUM(INDEX(Sheet1!$B:$C,ROW(),)),"[h]:m:s")+0,"")),"") Sheet3のA2~B2セルをコピーして、Sheet3のA列~B列の3行目以下に貼り付けて下さい。 Sheet2のA2セルに次の関数を入力して下さい。 =IF(ROWS(A$1:A2)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$A:$A,SMALL(Sheet3!$A:$A,ROWS(A$1:A2))))。 Sheet2のB2セルに次の関数を入力して下さい。 =IF($A2="","",TEXT(SUMIF(Sheet1!$A:$A,$A2,Sheet3!$B:$B),"[h]:m:s")+0) *********************************************************************************************************** 上記のアドバイスを実行しましたが、項目は表示されましたが、時間が表示されません。 時間が表示されない理由はどんなことが考えられますか? よろしくお願い致します。

  • EXCEL2000:R1C1形式の数式について教えてください

    Sheet1!B8に数値が入っています。 Sheet2!D4に「=VALUE(IF(Sheet1!B8<10,Sheet1!B8+3,Sheet1!B8-9))」の数式が入っています。 R1C1形式で Sheet2!D31に「=IF(0<R[-27]C<4,,SUM(Sheet1!R[48]C[-2]:Sheet1!R[48]C[+R[-27]C+6]))」を入力したいです。 しかし、Sheet2!D31に上記の式を入力するとエラーになってしまいます。 「C[+R[-27]」という入れ子の部分に問題があるのでしょうか。 詳しいかた教えてください!!