本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[XL]空白セルは空白のまま元のデータとの間にリンクを設定する方法

文書番号: 402344

最終更新日: 1997/10/23


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP402344

概要

Excel 5.0 では、[編集] - [形式を選択して貼り付け] コマンドの <リンク貼り付け> ボタンを使って、選択された範囲にコピーされたデータを貼り付け、元のデータとの 間にリンクを設定することができます。
このとき、コピー元範囲に含まれる空白セル (何も入力されていないセル) は、
<リンク貼り付け> ボタンで貼り付けた先に「 0 」として表示されます。
本文書は、空白セルは「 0 」と表示せずに空白のまま、元のデータとの間にリンク
を設定する方法をまとめています。

詳細

1. [リンク貼り付け] とは

[編集] - [形式を選択して貼り付け] コマンドを実行すると [形式を選択して貼り付 け] ダイアログ ボックスが表示されます。<リンク貼り付け> ボタンをクリックする と、[編集] - [コピー] コマンドで複写されたセルのデータを選択された範囲に貼り 付け、もとのデータとの間にリンクを設定します。コピー元のデータが変更されると、 貼り付け先のデータも更新されます。
このとき、コピー元セル範囲に含まれている空白セルは、貼り付け先に「 0 」が表示 されます。
  <コピー元>    <貼り付け先>
  __|___A___    __|___A___
   1|Office      1|Office
   2|            2|      0
   3|Excel       3|Excel
   4|            4|      0
   5|Word        5|Word

2. 空白セルは空白のまま貼り付ける方法

(1) [オプション] を設定する

[ツール] - [オプション] コマンドを実行すると、[オプション] ダイアログ ボック スが表示されます。[表示] パネルの [ウィンドウ オプション] グループに含まれる [ゼロ] チェック ボックスをオフ (×がついていないついていない状態) にすると、 「 0 」が入力されたセルは空白になります。
この設定は、ウィンドウごとに保存されますので、「 0 」を表示したくないウィンド ウをアクティブにしてから実行してください (「ウィンドウ」についての詳細は
「ユーザーズ ガイド」 91 ページ「ウィンドウを開く、整列する、閉じる」を
参照してください)。
部分的に「 0 」を表示したい場合は、目的のセルに対して [書式] - [セル] コマンド の [表示形式] パネルで「 0 」を表示するように表示形式を設定 (例えば
「 G/標準;-G/標準;0 」など、詳細は [表示形式] パネルの <ヘルプ> を参照して ください) します。

(2) 数式を入力する

[編集] - [コピー] コマンドおよび [編集] - [形式を選択して貼り付け] コマンド
を使わずに、目的のセルに「参照元のセルが空白かどうかを判断し、空白である場
合は何も表示しない」数式を直接入力します。

a. ブック内の他のシートを参照する

同じブック内の他のシートのセルを参照することができます。ワークシート関数であ る ISBRANK 関数は目的のセルが空白かどうかを判断し、IF 関数は、指定した値ま
たは数式が条件を満たしているかどうかの結果に基づいて処理を分岐します。
「ブック内の他のシートを参照」することについての詳細は「ユーザーズ ガイド」
139 ページ「数式で参照を使用する」を参照してください。また、ワークシート関
数についての詳細は、オンライン ヘルプを参照してください。
  BOOK1.XLS    BOOK1.XLS
  <Sheet1>     <Sheet2>
  __|___A___   __|___A___||__________________A 列の数式__________________
   1|Office     1|Office ||=IF(ISBLANK(Sheet1!A1),"",Sheet1!A1)
   2|           2|       ||=IF(ISBLANK(Sheet1!A2),"",Sheet1!A2)
   3|Excel      3|Excel  ||=IF(ISBLANK(Sheet1!A3),"",Sheet1!A3)
   4|           4|       ||=IF(ISBLANK(Sheet1!A4),"",Sheet1!A4)
   5|Word       5|Word   ||=IF(ISBLANK(Sheet1!A5),"",Sheet1!A5)

b. 他のブックのシートを参照する

ブックの数式を他のブックの参照元データにリンクして、参照元データに加えた変更 をリンク先の数式に反映させることができます。ワークシート関数である ISBRANK
関数および IF 関数を「 a. ブック内の他のシートを参照する」と同じ要領で使用し ます。
「他のブックのシートを参照」することについての詳細は「ユーザーズ ガイド」 169 ページ「複数のブックをリンクする」を参照してください。
  BOOK1.XLS    BOOK2.XLS
  <Sheet1>     <Sheet1>
  __|___A___   __|___A___||__________________A 列の数式__________________
   1|Office     1|Office ||=IF(ISBLANK([BOOK1.XLS]Sheet1!A1),"",[BOOK1.XL
    |            |       ||S]Sheet1!A1)
   2|           2|       ||=IF(ISBLANK([BOOK1.XLS]Sheet1!A2),"",[BOOK1.XL
    |            |       ||S]Sheet1!A2)
   3|Excel      3|Excel  ||=IF(ISBLANK([BOOK1.XLS]Sheet1!A3),"",[BOOK1.XL
    |            |       ||S]Sheet1!A3)
   4|           4|       ||=IF(ISBLANK([BOOK1.XLS]Sheet1!A4),"",[BOOK1.XL
    |            |       ||S]Sheet1!A4)
   5|Word       5|Word   ||=IF(ISBLANK([BOOK1.XLS]Sheet1!A5),"",[BOOK1.XL
    |            |       ||S]Sheet1!A5)

c. 名前を使用して参照を簡略化する (配列数式の作成)

名前とは、セル、セル範囲、または数式を参照するために作成する識別名です。名前 を使用すると、セル参照を使った数式より内容がわかりやすく、覚えるのも簡単です。 他のシートを参照する数式でも名前を利用することができます。数式を入力する前
に、あらかじめ名前を定義することが必要です。参照元セル範囲 (名前を付けるセル範 囲) を選択し、[挿入] - [名前] - [定義] サブコマンドを実行します。[名前定義] ダ イアログ ボックスの [名前] ボックスに名前を入力し <OK> ボタンをクリックします。 配列数式では、1 つの値を扱う数式をいくつかまとめることができるので、繰り返し 同じ式を入力する手間を省くことができます。配列数式を入力するには、数式を入力す る範囲をあらかじめ選択し、数式を入力後 [Ctrl] + [Shift] + [Enter] キーで確定し ます。配列数式として数式を入力すると、数式の前後に中カッコ () が自動的に追加 されます。
「名前」についての詳細は「ユーザーズ ガイド」 149 ページ「名前を使用して参照 を簡略化する」および 173 ページ「数式のリンクで名前を使用する」を、「配列数
式」についての詳細は、181 ページ「配列を使用して作業する」を参照してください。 次の例では、ブック BOOK1.XLS のワークシート Sheet1 のセル範囲 A1:A5 に「製品 名」という名前が付けられている範囲を参照した配列数式を作成しています。
  BOOK1.XLS    BOOK1.XLS
  <Sheet1>     <Sheet2>
  __|___A___   __|___A___||__________________A 列の数式__________________
   1|Office     1|Office ||=IF(ISBLANK(製品名),"",製品名)
   2|           2|       ||=IF(ISBLANK(製品名),"",製品名)
   3|Excel      3|Excel  ||=IF(ISBLANK(製品名),"",製品名)
   4|           4|       ||=IF(ISBLANK(製品名),"",製品名)
   5|Word       5|Word   ||=IF(ISBLANK(製品名),"",製品名)
  BOOK1.XLS    BOOK2.XLS
  <Sheet1>     <Sheet1>
  __|___A___   __|___A___||__________________A 列の数式__________________
   1|Office     1|Office ||=IF(ISBLANK(BOOK1.XLS 製品名),"", BOOK1.XLS 製品名)
   2|           2|       ||=IF(ISBLANK(BOOK1.XLS 製品名),"", BOOK1.XLS 製品名)
   3|Excel      3|Excel  ||=IF(ISBLANK(BOOK1.XLS 製品名),"", BOOK1.XLS 製品名)
   4|           4|       ||=IF(ISBLANK(BOOK1.XLS 製品名),"", BOOK1.XLS 製品名)
   5|Word       5|Word   ||=IF(ISBLANK(BOOK1.XLS 製品名),"", BOOK1.XLS 製品名)

(3) <リンク貼り付け> で作成された数式を編集する

<リンク貼り付け> を行うと自動的に配列数式が作成されます。この数式を「参照元 のセルが空白かどうかを判断し、空白である場合は何も表示しない」数式に編集しま す。
「配列の編集」についての詳細は「ユーザーズ ガイド」 183 ページ「配列を編集す る」を参照してください。
具体的な手順は次の通りです。

手順

  1. <リンク貼り付け> を行ったセル範囲をすべて選択します。 <リンク貼り付け> を行ったセル範囲の一部を選択し、[編集] - [ジャンプ] コ マンドの <セル選択> ボタンをクリックし、[アクティブ セルが関係する配列] オプションを選択後 <OK> ボタンをクリックすると適切なセル範囲を選択するこ とができます。
  2. 数式バーの数式を編集します。
         (例 1) ブック内の他のシートを参照する場合
              編集前  =Sheet1!$A$1:$A$5
              編集後  =IF(ISBLANK(Sheet1!$A$1:$A$5),"",Sheet1!$A$1:$A$5)
         (例 2) 他のブックのシートを参照する場合
              編集前  =[BOOK1.XLS]Sheet1!$A$1:$A$5
              編集後  =IF(ISBLANK([BOOK1.XLS]Sheet1!$A$1:$A$5),"",[BOOK1.XL
                      S]Sheet1!$A$1:$A$5)
    
  3. 数式を [Ctrl] + [Shift] + [Enter] キーで確定します。
         (例 1) の数式は次のように表示されます
              =IF(ISBLANK(Sheet1!$A$1:$A$5),"",Sheet1!$A$1:$A$5)
         (例 2) の数式は次のように表示されます
              =IF(ISBLANK([BOOK1.XLS]Sheet1!$A$1:$A$5),"",[BOOK1.XLS]Sheet
              1!$A$1:$A$5)
    

3. 関連情報

「メモリを節約するワークシートの作成方法」として、Excel 4.0 までは複数の数式 を使う代わりに、配列数式をお使いいただくことをお勧めしていましたが、Excel 5.0 では配列数式を使う代わりに複数の数式をお使いいただくことをお勧めしています。 「メモリを節約するワークシートの作成方法」についは、以下のサポート情報を
ご覧ください。


文書番号 : 401704
タイトル :メモリを節約するワークシートの作成方法

Keywords: KBHOWTO KB402344
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch

inserted by FC2 system