• ベストアンサー

Excelでこの数式は何を表しているのでしょうか

Excelの初心者です。 今、Excelのある表を改良しているのですが、前任者が作ったExcelファイルの下記数式が何を表しているのかわかりません。 =OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),1,2)*D3-F3+G3 『ADDRESS(ROW(),COLUMN())』→ここから を示すことがわかったのですが、、 何をやるのかわかれば、教えていただければと思います。。 よろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

ADDRESS(ROW(),COLUMN()) その数式が記入されているセル番地を文字列で計算する INDIRECT(ADDRESS(ROW(),COLUMN())) その数式が記入されているセル番地の文字列からセルを計算する OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),1,2) 指定のセルから下に1つ下がり、右に2つ動いたセルを計算する OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),1,2)*D3 指定のセルから下に1つ右に2つ動いたセルにD3をかけ算する =OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),1,2)*D3-F3+G3 かけ算の結果からF3を引き算し、G3を足し算する 結論: 今のその数式がたとえばA2に記入してあったとすると、その一つ下・右に2つのC3と置き換えて =C3*D3-F3+g3 という数式に書き換えてやれば良いだけです。

ap0008
質問者

お礼

ありがとうございました。 段階を踏んで、分けていただいたので、とてもわかりやすかったです。 最後に結論をみて、なるほど!と思いました。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

=OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),1,2)*D3-F3+G3 上の式に意味ですが今その式が入力されているセルよりも1行下で2列右のセルの値がOFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),1,2)になりますね。そのセルの値にD3セルの値を掛けて、その値からF3のデータを引き、G3のデータを加算するという意味になりますね。 この式を下方にドラッグコピーすればいろいろのセルの位置が変わりますのでどんなことをしようとしているかをご自分で判断してください。

ap0008
質問者

お礼

とてもわかりやすい回答、ありがとうございます。 セルの位置が変わるのをみてみます。

関連するQ&A