• ベストアンサー

エクセル関数を教えてください

表を作成するのに必要なエクセルの関数をお願いいたします。 二つあります。 (1)金額の欄 種類の列すべてについて 「上か左か東」の時は「料金+手数料」 「下か右か西」の時は「料金-手数料」 (2)差額の欄・・・差額は下の欄に書きます 種類の列の下の段について 「下か西」の時は「下の段-上の段」 「東」  の時は「上の段-下の段」 ややこしいですが、どうかよろしくお願いいたします。

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

  • ベストアンサー
  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.4

6文字しか無い事が条件の式です。 A2のセルが「上、左、東」の文字で無い場合は、「下、右、西」のどれかの文字になります。よってif関数でA2が「上、左、東」であれば「料金+手数料」、違えば「料金ー手数料」という理論になります。あえてA2が「下、右、西」あるかという式を作成しなくても良い事になります。 但し、A列のセルが空白の場合は、全て「下、右、西」と判断してしまいます。 A列が空白で無い時に限り、if関数を計算するように数式を変更します。 =if(A2<>"",・・・・,"") 上記のif(A2<>""はA2が空白で無い時にという意味で、式末尾の,"")はA列が空白時には空白にする事を意味します。 申し訳ありませんが、下記を再度コピペして下さい。 =if(A2<>"",IF(OR(A2="上",A2="左",A2="東"),B2+C2,B2-C2),"") =if(A2<>"",IF(OR(A3="下",A3="西"),D3-D2,IF(A3="東",D2-D3,"")),"") if関数の説明 http://all-excel.com/fnc_01.html

zyakusou
質問者

お礼

何度もの質問に丁寧、親切に答えていただき感謝しています。 式の立て方もなんとなく分かるような気がします。 少しずつ学習をしていきたいと思っています。 本当にありがとうございました。

zyakusou
質問者

補足

(2)の方、うまくいきました。数字が出てきたときは嬉しくて感動しました。 (1)の方は最初の関数でうまくいき、説明もなんとなく理解できましたが、 最後のコピペの関数が二つあります。どちらかをコピペするということですか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.3

大変失礼致しました。 西を東に修正必要致します。 申し訳ありませんでした。 =IF(OR(A2="上",A2="左",A2="東"),B2+C2,B2-C2)

zyakusou
質問者

補足

(1)で下、右、西の文字は関数にありませんが、 よろしいのでしょうか? 何度も申し訳ありません。

全文を見る
すると、全ての回答が全文表示されます。
  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.2

関数の本を購入した経験は無いのですが、エクセルはバージョンによって使用出来る関数が違いますので、お使いのバージョンに合った関数の本を購入されたら良いかと思います。 今回使用したif関数は論理関数と言われるものです。 orやand ,not等を組み合わせる事で種々の分岐計算が可能です。 下記日経に記載の関数は覚えた方が良い関数だと思います。 http://pc.nikkeibp.co.jp/pc21/tech/excel36/ ネット検索である程度の関数の使用方法は出ていますので、ぜひネット検索して下さい。Q&Aサイトの回答蘭は参考になる回答が多いです。

zyakusou
質問者

補足

早速回答いただき本当にありがとうございます。 先ほどの表の一番下の金額が間違っていました。 正しくは35です。 (1)において 「東」は関数のどこに入れればいいですか? 東の欄がうまくいきません。 再度関数を教えてください。 申し訳ありません。

全文を見る
すると、全ての回答が全文表示されます。
  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.1

金額 種類が上記6文字だけだと仮定しての数式です。 D2セル式 =IF(OR(A2="上",A2="左",A2="西"),B2+C2,B2-C2) 下方にフィルコピー 差額 E3セル =IF(OR(A3="下",A3="西"),D3-D2,IF(A3="東",D2-D3,"")) 2行置きにペースト

zyakusou
質問者

お礼

早速回答していただきありがとうございます。 出来ました!!すごいですね。 エクセル関数を一人で勉強していますが どうもうまくいきません。 初心者向けの参考書などありましたら ご紹介いただきますとありがたいのですが。 厚かましいお願いをしてすみません。

zyakusou
質問者

補足

すみません。 (1)の金額欄ですが東は関数のどこに入れればよろしいですか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

    エクセルの関数について質問です。 昨日、エクセルの関数で質問したものですが、昨日も質問して一つ解決いたしました。 もう一つどなたかご回答いただけるとありがたいのですが・・・。 下のように上の段に0から9まで横に並んでいる。 2段目も同様。 右に52997と並んでいる。 知りたいのは上の段と下の段の数字の位置関係です。 右の数字のように 上の段を5、下の段を2としたときに 上の5から下の2は左方向に何個めになるかを知りたい。 上の段も下の段も配列は繰り返しとなります。 昨日質問して得た回答が以下の関数を教えてもらった。 これでとても助かっています。   A B C D E F G H I J K L 1 0 3 6 9 2 5 8 1 4 7 2 0 3 6 9 2 5 8 1 4 7 3                     5 4                     2 5                     9 6                     9  7                     7 =MOD(10+MATCH(K3,A$1:J$1,0)-MATCH(K4,A$1:J$1,0),10) 次に知りたいのは 下の配列を変化させたときの結果を知りたいのですが どなたかご存知で無いでしょうか? 昨日、徹夜ぎみでいろいろ試したのですが 私の知識ではどうにもなりません。   A B C D E F G H I J K L 1 0 3 6 9 2 5 8 1 4 7 2 7 2 8 0 3 1 9 5 4 6 3                     5 4                     2 5                     9 6                     9  7                     7 =結果? 結果は 5→2なら左に4つ目の位置なので結果は4 2→9なら左に8つ目の位置なので結果は8 9→9なら左に7つ目の位置なので結果は7 9→7なら左に3つ目の位置なので結果は3 このようにしたいときの関数・計算式はどのような方法がありますか? 困っています。 よろしくお願いいたします。

  • エクセル2007 関数

    画像の添付ができていなかったため、、再投稿です。 よろしくお願いいたします。 添付の表の上の段のような表があるとしまして、下の表の赤字の部分に上の表のA列のどれかの数字を入れると下にずらっと上の表のデータを参照するようにしたいのですが、タオルの部分は他とセルと仕様が違うのでどのような関数を入れたらいいのか分かりません。 上の表はカラーが複数なければ空欄です。

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

    2つの行を比較して、ある列までは上の段を、それ以降の列は下の段を優先させる関数を教えてください。 例)画像参照ください、 1行目も2行目も数字が減っていきますが、2行目はある列から数字が一定になります。 画像の緑部分では1行目を、黄色部分からは2行目を優先させたいのです。 (数字が同じかそれより大きくなった時) 数字を打ち変えて活用したい表で、2行目の数字が一定になるタイミングは何列目になるかわかりません。 どなたかエクセルに詳しい方おりました、教えてください。 よろしくお願いいたします。

  • EXCELの関数

    EXCELで、Aの列に○、Bの列に×がある行のCの列の数字を返す関数の使い方があれば、教えて下さい。 AとCの二つの列だけだと、VLOOKUPという関数を使えばAが○の時のCの数字を返す事ができるという事までは分かりましたが、Aの列に○がある行が2つ以上ある場合(Aの列が○で、Bの列が△である行を無視したい場合)、そのまま使うことができなくて困っています。 かなり初心者なので、申し訳ありませんが、よろしくお願いします。 例 ○   △   5 ×   □   3 ○   □   4 ○   ×   1 上のような行が無数に並んでいる場合で、左の列と真ん中の列の組み合わせが1つしかない時、左の列と真ん中の列の文字を指定した時の右の列の数字を返したい。

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

    先日もコチラで質問させていただき エクセルでの表作りを1から見直しております。 さて、次のような事が出来るのか、出来ればどのような関数(数式?)を使えばいいでしょうか? ●maxとかminの関数で最大・最小値を引数にしますが、この最大・最小値を出した日付を引数にする事は出来るのでしょうか? ちなみに表はベーシックな表にしています。1番上の行に見出しを右方向に、1番左の列に下に向かって日付を 以上、よろしくお願い致します。

  • エクセルの関数。

    お世話になっております、TAIKO20001と申します。 エクセルでこのような問題ありまして、回答が分かっておらず、 困っております。 1、「B列にある1~15番目の数字を関数を使用し表示せよ」 例:その式の入った6番目の列をコピーする。 それを15の下のセルにペーストすると、数字が16に変る。 2、「回答状況欄に済という字が入った時、対象行を自動で 全て灰色で塗りつぶされるような処理をせよ。 ヒントとして、関数は使わない。 この二つがわからなくて、困っております。 申し訳ございませんが、よろしくお願いします。

  • Excelで条件分岐が多い関数を作りたいです

    関数の勉強をしているのですが、どうしてもわからない問題があり、 テキストの模範解答には式の答えがなく結果の数値しか載っていないので 式がわかる方教えていただきたいです。 問題の内容は、遊園地の入場券の料金を別の表にある料金表を元に表1の料金欄に金額を反映させるというものなのですが、表1にはA列に3桁の来場者コード、B列に性別、C列に割引券の有無、D列に職業のデータがあり、E列には料金入力欄があります。 この表1のデータの中から、女性で割引券なしで会社員の場合は表2の1行目とA列がクロスした部分の値を表1のE列に返し、上記と同じ条件で割引券がない場合は表2の2行目とA列がクロスした部分の値を返すという風したいです。 表2の行は4段で、上から順に「女性かつ割引券あり」「女性かつ割引券なし」「男性かつ割引券あり」「男性かつ割引券なし」となっており、列は左から会社員、大学生、高校生、中学生、小学生、シルバーという順に6つ並んでいて、表1の来場者コードの百の位が1ならA列(会社員)、2ならB列(大学生)という風になっています。 説明がわかりずらかったらすみません。 よろしくお願い致します。

  • こんにちは

    下の図で上が南、下が北、左が東、右が西となるらしいのですがなぜそうなるのか分かりません。上が北で下が南、左が西、右が東になると思ったのですが、、

  • excel 関数

    以下のような、同じ数だけ縦に並び、横にいくにつれて下にずれていくデータがあり、各列の上から3番目から1番下までのデータの範囲の最大値をとりたいです。 できればマクロではなく関数でやりたいです。 よろしくお願いいたします。 1 1 22 32 535 _25 _134 __21 __31 ___2 ___3

  • EXCEL 関数・・

    いつもお世話になっております。 かなり複雑すぎて自分でもどうやって関数を組み合わせてよいかわからず皆さんのお力を是非借りさせて頂きたいと思い投稿させていただきました。 下にデータが添付してありますので、よろしくお願い致します。 私がやりたい事 ・左の表に【項目・日にち・金額・摘要】という項目があり、その右側にある表に集約させたいと考えております。 例)左の表の中で「項目が”入金”もしくは”振込入金”で日にちは”1”で摘要欄に”(株)”が含まれているかつ、”手数料”という語句がある場合かつ”振替”という語句がある場合に、G1のセルに”株式会社・手数料・振替”」という語句が表示されるようにするにはどうしたらよろしいでしょうか? ひとつでも出来れば、後は応用なので他のセルは何とか自分で出来るかと思います。 質問が長くなってしまいましたが、よろしくお願い致します。

専門家に質問してみよう