• ベストアンサー

エクセル 関数

A1とB1が同じ値ならC1の値を、A1とB1が同じ値では無い場合は、その差の値を、B1が0ならA1の値を出したいのですが(その場合はC1は0です)、その場合は、どの様な関数を使えばいいでしょうか??? 関数初心者で大変困っています。 前回も関数に関して質問したのですがピッポットテーブルで・・・と回答を下さった方がおられましたが、ピッポットテーブルって何ですか??? 関数辞典、片手に皆様の助けを待っています。 宜しくお願い致します。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.7

質問では、条件が2種あるようです (A)A1=B1のときと   A1<>B1のとき の型 もうひとつは (B)B1=0 と   B1<>0 の型 です。 両者は並存できる場合があり、 (A)と(B)をどちらを優先するのか、IF関数で言えば、どちらがネストが深くないほうになるか、良く考えて、質問を表現してください。そうすれば質問にもならない問題だと思いますが。 多分(B)か優先かなと思いますが、 =IF(B1=0,A1,if(A1=B1,C1,A1-B1)) 差という表現も絶対値かどうかあいまいですが、そうでないとして上記にした。 ーー ピボットテーブルなんかWEB照会すれば腐るほど記事が出てくる。 とりあえず、簡単な表を作り、メニューで、データーピボットテーブル・・をクリックしてみてください(2007以前)。 ウイザードが案内しますが、レイアウトのところだけ、わかればどんなものか結果が出ます。

ayamyu
質問者

お礼

ご回答有難うございました。 ピッポットテーブルに関しての回答も頂きまして大変参考になりました。 1つ1つ理解しながら頑張りたいと思います。 またよろしくお願いいたします。

その他の回答 (6)

noname#58440
noname#58440
回答No.6

  訂正です。 =if(A1=B1,C1,if(A1-B1)) この式は間違い =if(A1=B1,C1,ABS(A1-B1)) =if(B1=0,A1,if(A1=B1,C1,if(A1-B1))) これも間違い =if(B1=0,A1,if(A1=B1,C1,ABS(A1-B1)))

ayamyu
質問者

お礼

ご回答有難うございました。 内容を辞典片手に解読しながら頑張りたいと思います。 また宜しくお願い致します。

noname#252806
noname#252806
回答No.5

2つめ3つの答えはどちらも AとBの差額になります。 =IF((A1-B1)=0,C1,A1-B1)。

ayamyu
質問者

お礼

ご回答有難うございました。 早速チャレンジしてみます! またよろしくお願い致します。

noname#58440
noname#58440
回答No.4

  =if(A1=B1,C1,if(A1-B1)) これで、A1とB1が同じ値ならC1の値、A1とB1が同じ値では無い場合はその差 と、なます。 しかし、「B1が0なら」の判断は上記の判断より先にするのですか? B1=0、A1=3・・・「B1が0」であり「A1とB1が同じ値では無い」でもあります。 B1=0、A1=0・・・「B1が0」であり「A1とB1が同じ値」でもあります。 B1が0ならを最優先の判断基準とするなら、 =if(B1=0,A1,if(A1=B1,C1,if(A1-B1))) >(その場合はC1は0です) 意味が判りません ピッポットテーブルは本でも買ってきて勉強するか、ツールバーの「データ」-「ピッポットテーブルとピッポットグラフ レポート」をクリックして試行錯誤で勉強して下さい。 ここに書ける程単純ではないので失礼。    

ayamyu
質問者

お礼

ご回答有難うございました。 また質問が言葉足らずで申し訳ありません。 ピッポットテーブルも1から勉強したいと思っています。 また宜しくお願い致します。

noname#77845
noname#77845
回答No.3

#2です。 #1さんの回答を見て「B1が0ならA1の値を出したい」に気づきました。(笑) なので、 =IF(B1=0,A1,IF(A1=B1,C1,ABS(A1-B1))) でいかがでしょう? A1とB1が等しくないときはA1とB1の差なので、絶対値をとってみました。

ayamyu
質問者

お礼

わざわざ2回も足を運んで頂いて、有難うございました! 丁寧な回答で、大変ためになりました。 またよろしくお願い致します。

noname#77845
noname#77845
回答No.2

その計算結果は、どこのセルに出したいのでしょうか? C1には出せませんよ…。 条件の中で、C1の値を出力しようとしているのにC1に関数が入っていたら循環参照になってしまいますから。 D1に出力するなら =IF(A1=B1,C1,ABS(A1-B1)) でいかがでしょうか?

ayamyu
質問者

お礼

ご丁寧な回答有難うございました。 また質問が言葉足らずで申し訳ありませんでした。 辞典片手に頑張ってみます! またよろしくお願い致します。

  • lele00
  • ベストアンサー率29% (74/250)
回答No.1

=IF(B1=0,A1,IF(A1=B1,C1,A1-B1)) ではどうでしょう。

ayamyu
質問者

お礼

ご回答有難うございます。 早速チャレンジしてみます。 またよろしくお願い致します。

関連するQ&A

  • エクセル関数教えて下さい。

    該当する関数があればご指南下さい。   A  B  C  D 1 20  1  =A1*B1 2 30 3 40 4 50 5       =SUM(C1:C4) 上記の様な時にD1にC5の値が20だったら1を30だったら2を… といった形にしたいのですがお願いします。 初心者です…。              

  • Excelの関数についての質問です。

    Excelの関数についての質問です。 表1のセルA2の値に対し、セルB2の値の結果をセルC2に返す関数式を教えてください。 なお、表1は表2を反映した値となります(画像添付あり) 初心者です。宜しくお願い致します。

  • エクセルの関数について

    エクセルの関数について いつもご回答者の皆様方にはお世話になっております。 また一つ関数で実現したいことができたのですが、 添付画像のように同一シート内に形式が同じデータベースが複数あった場合に、 指定した条件のデータベースを参照し、値を返すような関数は可能でしょうか? B22セルで2010/1/1と指定した場合に、A2-B5のデータベースを参照し、さらにC22セルで指定してある「りんご」の個数を表示させるといった内容になります。 B22とC22の値を変えるだけで、それぞれのデータベースの指定した項目の個数を割り出したいのです。 識者の方々よろしくお願いいたします。m(_ _)m

  • エクセルのIF関数とVLOOKUP関数について教えてください。

      A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

  • エクセル関数について

    エクセル関数について質問です。 前回の質問と似ています。以下のことは関数で可能でしょうか。 ・セルA1からA4には数値が入力される。 ・セルA1からA4のいずれかに入力された値をB1に返す。 ・セルA1からA4で二つ以上のセルに入力がある場合、B1には「ERROR」という表示を返す。 ・B1は桁区切り「#,###」スタイルにする。 以前教えていただいたこと等を参考に試してはみたのですが、思うような結果が得られませんでした。 関数に詳しい皆様、どうか教えていただけますでしょうか。 よろしくお願いいたします。

  • Excelの関数で

    お願いします。 Index関数とMatch関数を使用して表の中の値を求めようとしましたが、 検索行が複数あるため、うまくいきません。 検索する列は1列(a,b,c)ですが、検索行(あ、い、う~)が複数になっています。 更に空白もあります。 こんな感じ↓です。 ---------------------   あ  い   う   え      お   か ---------------------    a  10  20  30 b  40  50  60 c  70  80  90 --------------------- こういった場合にはどんな関数を使って一致する値を求めたら良いのでしょうか? 大変困っております。よろしくお願いします。

  • エクセルの関数についての質問です。

    エクセル関数について質問です。 初心者ですが、宜しくお願い致します。 例えば、A列に名前、B列に数字、C列にコストを並べて、30行の種類が有る場合。 :C列のコスト10000以内で、B列の数字が一番大きくなる、10行の組み合わせの式を作りたい時には、どうすれば良いですか? 30行の中で、コストが10000以内で、Bの値が一番大きくなる組み合わせの10行が知りたいです。 説明下手で申し訳ございませんが、どなたかご回答宜しくお願い致します。

  • Excelの関数を複数まとめて

    Excelの関数のまとめ方について質問させてください。 A列   B列        C列 1    10 2    11 3    12 1    10 1 11 3 空白値(値なし) A列が1で且つB列が10の場合はC列にaと表示 A列が1で且つB列が11の場合にはC列にbと表示 A列が3で且つB列が空白(スペース)の場合はC列にcと表示 条件に合致しない場合は、B列の値をそのまま表示 というような複数条件判定の関数を一列内に纏めて計算させる場合には どのようにすればよいのでしょうか? ご教授の程宜しくお願い致します。

  • エクセル関数について教えてください。

    A1-0       B1-0 A2-100       B2-200 A3-0       B3-50 A4-80      B4-0 A5-250      B5-100 というセルの値があり、それぞれのAとBを比べたとき、 (1)どちらも0の場合は ”空白” (2)値が2倍以上、または2倍以下の時は ”×” という結果をC列に出したいです。 IF関数を使用してやってみたのですが、値が0の場合エラーになったり 上手くできません・・・。 教えてください、よろしくお願いします。

  • エクセルでの関数の書き方

    セルA1からF1があります。 A1がC1かD1で同じでかつ B1がC1かD1で同じ場合に、 D1の値をF1にセットしたいのですが、 どのように書けばよろしいでしょうか? EX. A1が1でB1が2の場合は C1がD1が1,2または2,1の場合のみ E1の値をF1にセットします。 COBOLで書くとこんな感じになると思います IF (A1=C1 OR A1=D1) AND (B1=C1 OR B1=D1) THEN MOVE D1 TO F1 END-IF. IF関数かAND関数を使用するような気がしますが、 思いつきません。 よろしくお願いいたします。 エクセル2000です。

専門家に質問してみよう