• ベストアンサー

関数の数式について(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

  • 一つの数式内に複数の関数!!

    よろしくお願いします。 関数式で一つの式内に複数の式を入れる場合の入力方法ですが、以前のEXCEL95では関数ウイザードがあって その中の文字列を入力する所のボックスの前に≪fx≫の関数ボタンがあって簡単に入力できました。 でも現在Excel2002ではそのボタンが見当たりません。直接入力するしかないのでしょうか? 是非教えてください。 =IF(A4>89,"A",IF(A4>79,"B", IF(A4>69,"C",IF(A4>59,"D","F")))) 上のような式を入力したいのですが。。。。

  • Excel2000の関数

    Excel2000での関数についてご質問いたします。 ある数字が入力されたとき その数字が1~100までの数字ならA1に15000を出力 それ以外の数字ならA1に150/60などの数式結果を出力 みたいな関数があるのでしょうか? IF関数と何かの組み合わせになるのでしょうか? よろしくお願いいたします。

  • Excel2003の数式設定について教えて下さい。

    Excel2003の数式設定について教えて下さい。 【C1セル】には 数式「=IF(A1="","",A1)」 【D1セル】には 数式「=IF(B1="","",B1)」 【E1セル】には 数式「=IF(AND(ISBLANK(C1),ISBLANK(D1)),"",(IF((C1+D1)=0,"---",C1+D1)))」 と設定した状態で、 【A1セル】に 数値「100」と入力し、 【B1セル】に 数値「200」と入力した場合、 【E1セル】は 「300」と出力されますが、 【A1セル】、もしくは【B1セル】を 空欄にした場合、 【E1セル】は エラーとなり、「#VALUE」と出力されてしまいます。 小生としては、【C1セル】【D1セル】の両セルとも表示上は空欄の為、 ISBLANK関数でTRUEと判定し、【E1セル】は空欄になってほしいのですが、 【C1セル】や【D1セル】には数式が設定されている為、 ISBLANK関数でTRUEと判定されずに、「IF((C1+D1)=0」の演算でエラーとなっている様です。 小生が実現したいこと、 「【C1セル】と【D1セル】の数式の実行結果が空欄以外の時のみ、  【E1セル】の数式を実行する。」 の方法をご存知の方、教えて下さい。お願い致します。

  • Excel数式入力

    セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。D列が数式となります。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐになりうまくいきません。B4に入力する関数もしくは何か良い解決策はあるでしょうかよろしくお願いします。

  • (EXCEL)指数の求め方と関数の数式

    EXCEL初心者です。 いくつか似たような質問を見てみましたが、 わかりませんでしたので、質問をさせていただきます。 「指数」を求めたいと思います。 関数の数式をどのように入力すればよいのかわかりません。 以下が内容です。 ・50個あるデータの単純平均を「100」とした場合、 50個それぞれに指数を求めたい。 以上です。 単純な内容かと思いますが、教えていただきたくお願い申し上げます。

  • EXCEL関数について

    EXCELの関数「IF」において、 =IF(Aのとき、BもしてCもする、それ以外は何もしない) という関数にしたいのですが、 「BもしてCもする」とする場合、どのような数式を かけばよいのでしょうか。

  • Excel関数について

    セルD6の合計がF6の数値と同じになるようにセルB3に数式を入力したいのですが、7行目が数式となります。尚、F6の値は都度手入力で変更されます。循環機能も試みましたが他の数式も含め影響を及ぼしました。B3に入力する関数もしくは何か良い解決策はあるでしょうかよろしくお願いします。

  • Excel2003の関数のネストの入力方法

    Excel2007のテキストでExcelを学んでしまったので、Excel2003の使い方が分からないので質問させて頂きます。 例えば、セルA1に入力されているVLOOKUP関数にエラーの場合、空白にするIF関数をネストさせたいのですが、Excel2007のテキストでは、関数をネストさせるのに、数式バーの左端の関数ボックスの▼をクリックし、関数を選択して、関数の引数ダイアログボックスでネストすることができたのに、Excel2003では、同じ操作をするとVLOOKUP関数が消えてしまい、IF関数しか入力できないのですが、Excel2003では、ネストさせる関数は、直接入力しないといけないのでしょうか?

  • Excel数式について

    Excel2010を使用しております。 A列 2~60セルに数量が入力されております。 B列 2~60セルに5種類のフルーツの名称 (りんご・みかん・ぶどう・もも・なし)がランダムに入力されております。 例えばB列に「りんご」が10か所入力されている場合、 A列に入力されている数量の合計(リンゴ数)をC1セルに返したい場合、 どのような数式(関数)を使用すればよいでしょうか? ご教示頂きたくお願い致します。

  • EXCEL2003で引き算をする関数ありますか?

    EXCEL2003で現金出納帳を試しに作っています。 入力した値に応じて、残高を減らしたいのですが、 どうすればいいのか分かりません。 どなたか詳しい方よろしくお願いします。

専門家に質問してみよう