06:55「#REF!」エラーが出た!Excelで作業をしていたら、急に「#REF!」と表示されてびっくりした......という経験はありませんか。「#REF!」というエラーは、数式で参照するデータが存在しない時に発生するエラーです。セルに入力された数式の参照しているデータが、意図せず削除されてしまった時などに発生します。今回は、この「#REF!」というエラーが表示された時の対処法を2つ紹介します。「#REF!」エラーが出る時とは例として「感謝セール割引表」を使って考えてみます。この表では、B列の「定価」(1)とC列の「割引率」(2)をもとに、D列の「割引額」(3)を計算しています。D列の「割引額」は「定価×割引率」という式で求めています。試しにセルD3をクリックしてみると、「=B3*C3」(4)と入力されています。「定価」と「割引額」をもとに、E列の「割引後額」(5)を計算しています。計算式は「定価-割引額」です。試しにセルE3をクリックしてみると、「=B3-D3」(6)と入力されていますね。ここで、「割引後額」を算出できたので、「割引額」の列は必要がなくなったとして、削除することにします。D列を選択して(7)、[ホーム]タブ(8)→[削除](9)をクリックします。すると、先ほどまでデータが入力されていた「割引後額」列のデータが「#REF!」(10)に変わってしまいました。「割引後額」列に入力されている数式(定価-割引額)が参照する「割引額」列のデータが削除されたため、このようなエラーが発生してしまったのです。対処法1:「割引額」列を非表示にするこのような場面で、「#REF!」エラーを表示させないためには、どうしたらよいでしょうか。1つは、不要になった「割引額」列は、削除せずに非表示にしようという方法があります。D列を選択して(1)、[ホーム]タブ(2)→[書式](3)→[非表示/再表示](4)→[列を表示しない](5)をクリックします。すると、「割引額」列が表示されなくなりました(6)が、「割引後額」列のデータは保たれています(7)。「割引額」列は非表示にしているだけで、削除されたわけではないからです。この方法のよいところは、割引率に変更があった場合でも、正しく計算されることです。例として、「ロゴ入りショート丈ソックス」の「割引率」(8)を「5%」から「10%」に変更してみます。変更前の「割引後額」は「¥608」(9)です。セルC4の「割引率」を「10%」(10)に変更すると、「割引後額」も自動的に「¥576」(11)に変更されました。非表示機能を使うことのデメリットは、そこにデータがあることを忘れがちだということです。そのため、非表示になっていることを知らない他人が、意図しない変更を行ってしまう可能性があります。対処法2:「割引後額」列のデータを「値」としてコピペする先ほどの「感謝セール割引表」の例では、「割引後額」列には数式が入力されていて、その数式が参照しているデータが削除されたためにエラーが発生したのでしたよね。2つ目の方法は、この「割引後額」列のデータをコピーして、別の列に「値」として貼り付けようというやり方です。E列を選択して(1)、[Ctrl]+[C]キーを押してコピーします。隣のF列を選択して[Ctrl]+[V]キーを押し、コピーしたデータを貼り付けます。すると、[貼り付けオプション]ボタン(2)が表示されるのでクリックし、[貼り付けオプション]メニューから[値と元の書式](3)を選択します。すると、F列には元の書式を保った状態で、E列のデータが「値」として貼り付けられます(4)。試しにセルF3をクリックしてみると、数式バーには数式ではなく「927」(5)という値が表示されますね。必要がなくなったD列とE列を削除します。D列とE列を選択して(6)、[ホーム]タブ(7)→[削除](8)をクリックします。「割引後額」列に「#REF!」というエラーは発生しませんね(9)。この方法のよいところは、非表示機能の欠点(非表示にした列は忘れがちだという点)を補えることです。「割引率」のデータを変更する場合には、注意する必要があります。試しに、セルC4(10)の値を「5%」から「10%」に変えてみましょう。「割引後額」は「¥608」(11)です。セルC4の値が「10%」(12)に変わっても、セルD4の「割引後額」は、「¥608」(13)のままで、自動的に計算はされませんね。このままスルーしてしまうと、誤った「割引後額」が適用されてしまう可能性があります。「#REF!」が表示されても慌てない今回は、「#REF!」というエラーが表示された時の対処法を2つ紹介しました。どちらの方法も一長一短ですが、作成した資料が未完成で、内容を変更する可能性のある場合は、数式に関係するセル範囲は削除しない方がよさそうですね。