• ベストアンサー

関数の数式について(Excel2007)

関数の数式について(Excel2007) ="科目入力!B2:B" & IF(F14=0,2,F14+1) エクセルで作成された現金出納帳なのですが・・ この数式の意味がわかりません・・・ 科目入力の中のB2~B行でこの後の&はこれとこれっていう意味あいなのでしょうか。 後科目入力の後の!←びっくりマークの意味がよくわかりません。これは何を意味しているのでしょうか。 そしてF14が0の場合は2でF14に1を足した場合は、、、何になるのでしょうか。。 非常にわかりづらい説明ですみません。 どなたかご教授ください。

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

  • ベストアンサー
  • dogsiva
  • ベストアンサー率32% (92/279)
回答No.2

こんにちは。上記数式について説明します。 " " で囲まれた部分は、そのまま文字列として認識します。 ですから、"科目入力!B2:B"というのは「科目入力!B2:B」という文字列そのものです。 そして、その後ろの IF(F14=0,2,F14+1) ですが、 ・F14が0の場合は2 ・F14が0でない場合はF14の数値に+1したもの の数値を出します。 ようするに IF(<条件>,<条件が正しい場合>,<条件が正しくない場合>) ということです。 こうして、もしF14が0の場合は 「科目入力!B2:B」&「2」となり 「科目入力!B2:B2」という文字列ができあがります。 もしF14が1の場合は 「科目入力!B2:B」&「3」となり 「科目入力!B2:B3」という文字列ができあがります。 もし、これらをINDIRECT関数の中に入れて範囲選択とした場合 ・「科目入力」というシートのB2からB2を参照する ・「科目入力」というシートのB2からB3を参照する という意味の範囲選択となります。 科目入力の後ろについている「!」は、"「科目入力」というシートの"という意味です。

その他の回答 (1)

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

お示しの式はどこから持ってこられたのでしょう。式そのものが間違っていますね。 例えば次のような式の一部で" "が使われていることでしょう。 =COUNTIF(INDIRECT("科目入力!B2:B" & IF(F14=0,2,F14+1),A1) この式の場合には科目入力という名前のシートのB2セルから、F14の値が0のときはB2セルまでの範囲を、F14の値が0でない場合にはB列でF14+1の行番号までの範囲を選択し、その範囲の中でこのシート中のA1セルと同じデータが幾つあるかを計算しなさい。という意味になります。 単にお示しの式でしたら セルでの表示は 科目入力!B2:B の次にIF(F14=0,2,F14+1)で計算された値が表示されるだけでそれ以外の何の計算も行われませんね。

関連するQ&A