別のシートを参照し、空だったら

このQ&Aのポイント
  • 質問者は、特定のシートのセルを参照して、そのセルが空の場合に特定の値を表示したいとしています。
  • 現在は、個々のセルに対してIF関数を使用しているが、セルをスキップするための方法がわからない。
  • 質問者は、セルをスキップするための方法を尋ねています。
回答を見る
  • ベストアンサー

「別のシートを参照し、空だったら」の計算式をコピーした場合

お世話になります。 タイトルの通りなんですが、ちょっと込み入った事情があります。 まず、条件として 参照するファイルとシートのセル(A1)を  '[([A.xls]B!A1]' としています。 これが空の場合、0(ゼロ)が表示されてしまうので  A1 =IF(ISBLANK('[([A.xls]B!A1]'),"") と、ここまでは出来ました。 これをコピーしたいのですが、自動的に  A1 =IF(ISBLANK('[([A.xls]B!A1]'),"")  A2 =IF(ISBLANK('[([A.xls]B!A3]'),"")  A3 =IF(ISBLANK('[([A.xls]B!A5]'),"") と、参照するセルを1つ飛ばしにしたいのでが、出来ません。 何か方法はあるでしょうか? 宜しくお願いします。

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

  • ベストアンサー
  • s_yoshi_6
  • ベストアンサー率73% (1113/1519)
回答No.1

数式はおそらく >'[([A.xls]B!A1]' →[A.xls]B!A1 >A1 =IF(ISBLANK('[([A.xls]B!A1]'),"") →A1 =IF(ISBLANK([A.xls]B!A1),"",[A.xls]B!A1) ということだと思いますが、 [A.xls]B!A1 の部分を INDIRECT("[A.xls]B!A"&ROW(A1)*2-1) として A1に =IF(ISBLANK(INDIRECT("[A.xls]B!A"&ROW(A1)*2-1)),"",INDIRECT("[A.xls]B!A"&ROW(A1)*2-1)) と入力して以下コピーとすればできます。 ROW(A1)は1行目のセルであれば、A1でなくても、B1、C1などでも構いません。 なお、*2-1 の部分を *3-2 とすれば3行おき、*4-3 とすれば4行おきとなります。

mangetsu_k
質問者

お礼

できました! そのような指定の方法があったんですね。 ありがとうございました。

関連するQ&A

  • シートをコピーした際のセル参照の変更

    Excelのファイルに2枚のシート(index,コメント)があります。 コメントシートにはindexを参照する関数が入っています。 =IF(ISBLANK(Index!B4),"",Index!B4) 1つではなく、全部で5つ程入っています。 コメントシートをシートコピーすると、当然関数もコピーされますが、 コピーした際にセルの参照先をB4からB5にすることはできますか。 シートコピーが一度ではなく、何度も繰り返されるのでマクロ等で できるようであれば教えてください。お願いします。

  • エクセルの別シートを参照しての数列のコピー

    エクセルについて質問です。別シートを参照して =Sheet3!$A71 =Sheet3!$A82 =Sheet3!$A93 のように11飛ばしで、マウスポインタを十字に合わせてセルをドラッグしてコピーしたいのですが、 =Sheet3!$A71 =Sheet3!$A72 =Sheet3!$A73 のようになってしまいます。 ちなみに、別シートを参照せずにやると A71 A82 A93 のようにうまくいきます。何か良い方法はありますでしょうか? ちなみにエクセルは2000です。

  • EXCEL2000:別ファイルのシートを反映させる時

    教えてください。 2つ質問があります。 <質問1> 別ファイルにあるシートに閲覧用のシートを作成しようとしています。 ファイル同士は同フォルダ内にあるため各対応するセルを参照しています。 ・元シート:●●.xlsのsheet1 ・閲覧用シート:▲▲.xlsのsheet2 ・sheet2に入力する計算式 A1→'[●●.xls]sheet1'!A1 B1→'[●●.xls]sheet1'!B1 ・ ・ ・・・このようにすると、元シートで空白になっている部分が「0」と表記されてしまいます。 それをなくそうとIF関数とISBLANK関数を使用して以下の式を入力しましたが、変化がありませんでした。 【計算式】 A1→IF(ISBLANK('[●●.xls]sheet1'!A1),,'[●●.xls]sheet1'!A1) これはどうすればよいのでしょうか? <質問2> 1.で最後に入力した計算式を一度クリックするとなぜか表示形式が突然文字列になってしまい、計算式として認識しなくなってしまいました。 これはどうすれば解決するでしょうか? ご回答よろしくお願い致します。

  • Excelで別sheetの参照について

    エクセルで別sheetの参照についての質問です。 画像のようにsheet1の値を参照してsheet2表示させたいのですが、これを約100件分作成したいのですがコピー&ペーストをすると参照セルがずれてしまいます。 sheet2のA1をコピーしてA4に張り付け=Sheet1!A2&Sheet1!B2&Sheet1!C2としたいのですが、A4に張り付けを行うと=Sheet1!A4&Sheet1!B4&Sheet1!C4となってしまいます。 複数行あけてペーストする場合に参照セルを1行ずつずらして参照する方法はありますでしょうか?

  • エクセルでシートを「移動またはコピー」した場合。

    説明が難しいので記号で説明させていただきます。 ブックA・ブックBを開いて、ブックAのシート(1)をブックBに「移動またはコピー」でコピーします。ブックBに新たにできたシート(1)について、もとのブックAのセルがなんらかの別セルを参照していた場合、そのコピーされたブックBのセルには[A.xls]の文字が入ってしまいます。ブックBのみで使用する場合、もちろん[A.xls]の文字は邪魔になるので、現在はいちいちその文字を削除して使用しています。なにかいい方法が有りますか?

  • エクセル 条件付き書式の別シート参照について

    エクセル2007にて、条件付き書式を使い、"Sheet1"と"Sheet2" を比較しようとしていますが 相対パスが当てられずに困っています。 ■したいこと Sheet1とSheet2のそれぞれ対応するセルを比較し、値が異なるなら Sheet1のセルの色を変える 「Sheet1のA1」と「Sheet2のA1」を比較 「Sheet1のA2」と「Sheet2のA2」を比較 「Sheet1のA3」と「Sheet2のA3」を比較 ・ ・ 「Sheet1のB1」と「Sheet2のB1」を比較 「Sheet1のB2」と「Sheet2のB2」を比較 ・ ・ 続く というように全部のセルを比較したいです。 ■したこと 条件付き書式では、直接 別シートを参照出来ないようなので Sheet1のA1の条件付き書式には、以下のように記載しました。 「=IF(A1=INDIRECT("Sheet2!A1"),0,1)」 しかし、""で囲んだ部分は、文字列として認識されているため そのままコピーされ、うまくいきません。 なにかいい方法ってないんでしょうか??? 詳しい方、ご教授いただけたらと思います。 よろしくお願いします。

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

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

  • エクセル2007 シートをコピーした時

    Bのシートを参照しているセルでAのシートをコピーした時Bのシートのセルの一つ下を参照してほしいんですがどうしたら出来るのでしょうか?教えてください。 A1のセルにBのシートのA2を参照しなさいとしていますそれをシートをコピーしたときBのシートのA3を参照して欲しい =[シートB]A2  シートコピー→=[シートB]A3

  • エクセル 別ファイルから シートを リンクを張らずに コピーしたい

    エクセル2003 1~4  はファイルの状態の説明です。 やりかたを質問したい部分は 5です。  1、ファイル(ブック)A.xls → 計算式が大量に入った数シートからなるファイル があるとする。 2、A.xls を そのままコピーし コピーされたファイルは B.xls に リネーム。 3、A.xls は 計算式等は変更しないが、データを変更し通常業務で使用。 4、A.xls の新バージョンを作るために B.xls を使って計算式等を編集。 (複数あるシートのうち一部シート(シート名 「あいうえ」 とする)のみの変更に加え さらに新シート「さしすせ」を作成) 5、A.xls のシート名 「あいうえ」をB.xlsで作った シート名 「あいうえ」と置き換え、 さらに新シート「さしすせ」もB.xlsからコピーして追加する。   普通にシート名 「あいうえ」や 新シート「さしすせ」を選択し  コピーを行うと B.xls からリンクを張った状態でコピーされて  しまう。たとえば シート「あいうえ」セルA1の中身を見ると  =[B.xls]あいうえ!A1*2+1 といったように [B.xls]が付いて  コピーされる。  これを回避して、単にそのまま丸ごと(A.xlsの中だけで編集したかのように) シートをコピーするにはどうしたら よいのでしょうか?  長くなってすいません。  よろしくおねがいいたします。  

  • EXCELで別ブックのセルを参照 シートを替える

    EXCEL初心者です。 毎日四苦八苦しているのですが、行き詰ってしまったのでご教授ください。 使用しているブックをA.xlsとして、 別ブックB.xlsのセル参照を、 ='Z:\[B.xls]Sheet1'!$B$1 のようにしています。 この Sheet1 の部分のシート名をA.xlsの、例えばA1に入力することで、 毎回シート名を変えられるようにしたいのですが、 ='[B.xls]( ココ )'!$B$1  ココの部分をどのようにしてよいかがわかりません。 A.xlsのパス名から書けばよいのかなと思ったのですが、 どうもうまくいきません。 何分必要にせまられてEXCEL勉強し始めたばかりです。 初歩的な質問ですが、すみません、よろしくおねがいします。

専門家に質問してみよう