エクセルIF関数で、別シートを参照する方法を紹介しています。IF関数で、別シートのデータを参照して、条件式を指定することができます。別シートを参照する式も、基本的なIF関数の使い方と同じです。別のブックにデータがあるときも、そのデータを参照して、条件式を指定することができます。ここでは、IF関数を使って、別のシート、別ファイルを参照する方法を、分かりやすく説明しています。
目次
IF関数
エクセルIF関数は、真の場合は真の場合の値を返し、偽の場合は偽の場合の値を返す関数です。IF関数は、エクセル関数の中で使用頻度が高い関数です。他の関数と組み合わせて使用されることも多いです。
IF関数の書式と引数
IF(論理式,真の場合,偽の場合)
論理式 | 条件式を指定します。 |
真の場合 | 論理式がTRUEの場合に返す値を指定します。 |
偽の場合 | 論理式がFALSEの場合に返す値を指定します。省略するとFALSEを返します。 |
IF関数の基本的な使い方
IF関数の基本的な使い方です。文字列には「”」(ダブルクォーテーション)で囲みます。数値は「”」で囲む必要はありません。
B列に、性別が「M」「N」で入力されています。F関数で性別を、「男」「女」で表示してみましょう。
C2に、式を入力します。
C2 =IF(B2=”N”,”女”,”男”)
C2には「男」が返されます。
C2の式を、下にドラッグしましょう。
C列に、性別が「男」「女」で表示されました。
IF関数で別シートを参照
エクセルIF関数で別シートを参照して判定を表示させてみましょう。
シートは「Sheet1」と「Sheet2」です。
Sheet1には金額別ランク一覧表、Sheet2にはプラン別一覧表があります。
Sheet1のD列「金額別ランク」に、Sheet2のD列「合計金額」を「10,000以上」と「10,000以下」で判定して表示させましょう。
「Sheet1」です。
「Sheet2」です。
合計金額で判定して金額別ランクに表示させる文字列
合計金額 | 金額別ランク |
10,000以上 | A |
10,000以下 | B |
「Sheet2」のD列「合計金額」が「10,000以上」だったら、「Sheet1」のD列「金額別ランク」に「A」、「10,000以下」だったら「B」と表示させましょう。
「Sheet1」のD2に式を入力します。
D2 =IF(Sheet2!D4>=10000,”A”,”B”)
D2の式は、「Sheet2!D4」で「Sheet2」のD4のセルを参照しています。
D2の式を、下にドラッグしましょう。
「Sheet1」のD列「金額別ランク」に、判定した結果が表示されます。
IF関数でAシートのセルの値をBシートに表示
IF関数でシートにあるセルの値を、そのまま他のシートに表示させる場合、数式「=A1」で表示させることができますが、別シートにあるセルが「空白」の場合は、数式「=A1」だと「0」が入力されてしまいます。
また、別シートにあるセルが「空白」だったら、ある文字列を表示させたいというときがあります。このような時に、エクセルIF関数で表示させることができます。
使用するシートは「SheetA」と「SheetB」です。
①.「SheetA」には金額別ランク一覧表、「SheetB」にはプラン別一覧表があります。
②.「SheetA」のD列「合計金額」に、「SheetB」のD列「合計金額」を表示させます。
③.「契約者№」は「SheetA」「SheetB」2シートは並び順が同じです。
「SheetB」のD列「合計金額」が「空白」の場合は、「SheetA」のD列に「未入力」、それ以外は「SheetB」のD列「合計金額」の、セルの値が表示されるようにします。
空白の場合は「未入力」と表示
「SheetB」のD列「合計金額」が、「空白」の場合は「未入力」と表示させましょう。
「SheetA」です。
「SheetB」です。
「SheetA」のD2に、式を入力しましょう。
D2 =IF(SheetB!D4=””,”未入力”,SheetB!D4)
D2の式を、下にドラッグしましょう。
「SheetB」のD列「合計金額」が「空白」の場合は、「SheetA」のD列に「未入力」、それ以外は「SheetB」のD列「合計金額」の、セルの値が表示されました!
空白の場合は「空白」を表示
D2に、「SheetB」のD列「合計金額」が「空白」の場合は、「SheetA」のD列に「空白」を表示させる式を入力しましょう。
D2 =IF(SheetB!D4=””,””,SheetB!D4)
D2の式を、下にドラッグしましょう。
「SheetB」のD列「合計金額」が「空白」の場合は、「SheetA」のD列に、「空白」が表示されました!
IF関数で別ファイルを参照
IF関数で別ファイルを参照する場合、数式「='[ブックA.xlsx]SheetA’!A4」で表示させることができますが、セルが「空白」の場合は、「0」が入力されてしまいます。
IF関数で別ファイルを参照する時、セルが「空白」の場合だったら「空白」を、または「特定の文字」を表示させてみましょう。
エクセルIF関数で別シートを参照する同じ方法で、IF関数で別ファイルを参照できます。
別ファイルを参照する式
使用するファイル:
① 「ブックR.xlsx」「SheetR」
② 「ブックQ.xlsx」「SheetQ」
「ブックR.xlsx」「SheetR」を参照して、「ブックQ.xlsx」「SheetQ」にセルの値を表示させましょう。
1.エクセルIF関数、別ファイル参照で「空白」の場合は、「空白」を表示させる式です。
B2 =IF(‘[ブックR.xlsx]SheetR’!B2=””,””,'[ブックR.xlsx]SheetR’!B2)
2.エクセルIF関数、別ファイル参照で「空白」の場合は、「未入力」を表示させる式です。
B2 =IF(‘[ブックR.xlsx]SheetR’!B2=””,”未入力”,'[ブックR.xlsx]SheetR’!B2)
B2の式を下にドラッグすると、「ブックR.xlsx」「SheetR」のセルの値が、「ブックQ.xlsx」「SheetQ」に表示されます。
ブックを参照する場合、自動で「=IF(‘[ブックR.xlsx]SheetR’!$B$2=””,””,'[ブックR.xlsx]SheetR’!$B$2)」のように絶対値「$B$2」で入力されます。
式をコピーする場合は「B2」と、絶対値を外しましょう。
ここがポイントです。注意しましょう。
IF関数でワイルドカードを使う
エクセルIF関数でワイルドカードを使いたいときがありますが、IF関数でワイルドカードを使えるかというと、使えません。条件式にワイルドカードを使うと、IF関数ではワイルドカードを文字列と判断してしまいます。単独では使えませんが、COUNTIF関数と組み合わせるとワイルドカードが使えます。IF関数でワイルドカードを使用すると、複雑な条件式で判定することができます。
こちらの記事もご覧ください。⇒エクセルIF関数でワイルドカードを使う方法!あいまい検索を使いたい