消費税抜きの金額表と消費税込みの金額表を作成する

=Sheet1!RC*1.1という計算式による不都合の解決

最初に次のような消費税抜きの金額表を作成したとします。

次に税込みの表を作成するために、この表を別のワークシート「Sheet2」にコピーして、各セルに

=Sheet1!RC*1.1

という計算式を入力します。(R1C1参照形式で書いています)

すると次のような結果になり、

 

  • 参照元のセルに文字列が入っていた場合は「#VALUE!」が表示される
  • 参照元のセルが空白セルであった場合には0が表示される
  • 参照元のセルの「数量」も1.1倍されてしまう

ということから、セルごとに計算式を「=Sheet1!RC」に修正したり、削除したりしなければならなくなり面倒です。

次のような数式を考えました。

=IF(ISNUMBER(Sheet1!RC),Sheet1!RC*1.1,Sheet1!RC&””)

これにより、

  • Sheet1のセルに入っているデータが数値であれば1.1倍する
  • データが文字列であれば同じ文字列を表示する
  • データが空白であれば空白を表示する

ことができます。

数量を1.1倍させない方法ですがSheet1で数量を入力するときに「6」ではなくて「’6」のように頭に「’」を付けて文字列として入力すれば良いです。

  • 文字列で入力しても、Sheet1において「料金×数量」を計算できます。
  • また、文字列なので上記の計算式を適用しても1.1倍されません。

 

サンプルのExcelのファイル

Sheet1の内容をSheet2にコピーして、Sheet2の各セルに計算式を入力するExcelのマクロを作成しましたのでサンプルのファイルを添付します。

Sheet3は計算式を「=Sheet1!RC*1.1」にした場合の見本です。

→ ryokin_blog.xlsm

タイトルとURLをコピーしました