• ベストアンサー

EXCEL 関数

毎度お世話になっております。 関数の内容で質問させて頂きます。 かなりややこしいので、ご了承ください。 A   B C D 項目   日にち  金額 摘要 入金    1   1000 SONY 出金    1   500  電話代 振込入金  1   300  NEC 残高    1   200     ・  ・  ・ というように何百行とこういうデータがあります。(項目欄は、入金・出金・振込入金・残高の4つですが、摘要欄は、電話代や水道料等の他に様々な企業名等が載っております。) ここで質問なんですが、例えばこの何千行もあるデータから、項目が出金で日にちが1日で摘要に"代"という文字が含まれている場合、「水道光熱費」という文字が表示されるようにするにはどうしたらよいでしょうか? また、上記の条件にさらにプラスして、摘要欄に「振替」と記載されている場合 "代"を含む文字があり、かつ、「振替」という語句がある場合に「水道光熱費・手数料」といった合わせ技のような手法はないでしょうか? IF・SUMPRODUCT・NOT・ISERROR・FIND等の関数を合わせて色々試してみましたが、なかなかうまくできません。 どなたかご教授願います。 長くなり申し訳ございません。 よろしくお願い致します。

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

  • ベストアンサー
  • blue_r
  • ベストアンサー率59% (92/155)
回答No.3

「水道光熱費」、「水道光熱費・手数料」の表示を、各行のE列に表示するという前提で回答致します。 各行のE列に下記の関数を記述してみて下さい。 記述例  =IF(AND(A2="出金",B2=1),IF(ISERROR(FIND("代",D2)),"",IF(ISERROR(FIND("振替",D2)),"水道光熱費","水道光熱費・手数料")),"")  ※2行目(E2)への記述例です。 1.1つ目のIFでは、項目が"出金"でかつ日にちが1であるかを判定します。 2.続いて2つ目のIFでは、摘要に"代"という文字が含まれているか否かをIserror関数の戻りを使用して判定します。 3.更に3つ目のIFでは、摘要に"振替"という文字が含まれているか否かをIserror関数の戻りを使用して判定します。 こうして、1・2・3の条件全てを満たす場合は”水道光熱費・手数料”を、 1・2のみの条件を満たす場合は”水道光熱費”をそれぞれ表示します。

spitzelt
質問者

補足

ご返答ありがとうございます。 この数式で少し疑問に思ったことがあったのですが、最初の=IF(AND(A2="出金",B2=1),IF(ISERROR(FIND("代",D2)),という数式は理解できたのですが、その後ろの,IF(ISERROR(FIND("振替",D2)),"水道光熱費","水道光熱費・手数料")),"")というのは、1番初めのIF関数のどの欄に入れているのでしょうか? もしかしたら、すべて手入力ということなのでしょうか? 私はいつも、fx関数を用いて作成しているのですがどうなんでしょうか? よろしくお願い致します。

その他の回答 (4)

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

E1セルに日にちを入力しE2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(A2<>"出金",B2<>E$1),"",IF(COUNTIF(D2,"*代*振替*")>0,"水道光熱費・手数料",IF(COUNTIF(D2,"*代*")>0,"水道光熱費","")))

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.2です! たびたびごめんなさい。 前回の数式はA列の「出金」の条件が抜けていましたので、 数式を =IF(AND(A2="出金",B2=$G$2,ISNUMBER(FIND("代",D2)),ISNUMBER(FIND("振替",D2))),"水道光熱費・手数料",IF(AND(A2="出金",B2=$G$2,ISNUMBER(FIND("代",D2))),"水道光熱費","")) に訂正してください。 かなり長い数式になってしまいました。 何度も失礼しました。m(__)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 外しているかもしれませんが・・・ ↓の画像で検索する日付のセルを設けておきます。 画像ではG2セルに2/1のシリアル値を入れています。 そして、適用2のE2セルに =IF(AND(B2=$G$2,ISNUMBER(FIND("代",D2)),ISNUMBER(FIND("振替",D2))),"水道光熱費・手数料",IF(AND(B2=$G$2,ISNUMBER(FIND("代",D2))),"水道光熱費","")) という数式を入れ、フィルハンドルの(+)マークでダブルクリックか オートフィルで下へコピーします。 これで画像のような感じになるのですが 以上、参考になれば幸いですが、 最初に書いたように的外れなら読み流してくださいね。m(__)m

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

んーとですね まずは、どのように関数を使ったのかを示してみてください (そのほうが、間違いや直したほうが良いところを教えてくれるので理解が早まります) とりあえずアドバイス  =IF(「条件1」,IF(「条件2」,IF(「条件3」,「適用1」,""),""),"") などと作る際には  =                IF(「条件3」,「適用1」,"")  =         IF(「条件2」,IF(「条件3」,「適用1」,""),"")  =IF(「条件1」,IF(「条件2」,IF(「条件3」,「適用1」,""),""),"") などと順序だててくみ上げると間違いを減らすことができます いきなり複雑な関数を書こうとしないようにしましょう また、NOT関数を組み合わせて  =IF(NOT(「条件1」),"",IF(NOT(「条件2」),"",IF(NOT(「条件3」),"",「適用1」))) としたほうが、見やすいこともあります

spitzelt
質問者

お礼

ご返答ありがとうございます。 自分一人ではなかなかうまくできず、こんがらがってしまいました。 参考にさせていただきます。

関連するQ&A

  • EXCEL 関数・・

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

  • エクセルで出納帖を作成

    エクセルを利用して出納帖を作成したいのです。項目は日付、摘要、入金、出金、残高です。残高欄に計算式を入れたいのです。前残高に入金額をプラス、出金額をマイナスして残高が自動的に計算できるようにしたいのです。仮に、繰越残高があると、先のほうまで残高の数字が表示されますね。入金があった時点、出金があった時点で始めて残高が出るようにしたい。IF関数を使うそうですが、具体的に関数を教えてください。

  • Excelで作成する家計簿の残高欄に使用する関数について

    家計簿をExcelを使い作成しています。入金・出金した後の残高欄(金額)をそのまま最終行に移行(転記)したいのですが、どの様な関数を利用すれば簡単に移行(転記)出来ますか? 事例:   日付    入金   出金   残高   2/23   10,000       10,000   2/25         5,000    5,000 { 数行が空欄 }     (月末)            5,000 [転記]

  • エクセル関数 合計について 教えて下さい。

    会社で 頁ごとの金額の合計、『計算後残高』を求める作業をすることになりました。 (1)下の表で、『項目』の返却は入金、延滞は出金で、   入金と出金が 混在しているのです・・・・              (わかりにくくて すみません・・・(+_+)) (2) 1頁の件数は データによって違い、 (3) 『計算後残高』(下の表では 6列)は、データによって列が定まらず、 (4) 『計算後残高』は、その頁のデータの最後の行だけに表示します。 どんな関数を使ったらいいのでしょうか? 何時間も考えておりますが、なかなか・・・・・(;_;q) ご回答を、お待ちしております m(u_u)m よろしくお願い致します!

  • エクセル たとえば20行で 繰越をしたい

    ご教授ください 家計簿で20行ごとに項目に繰越と入れ残高にページ計を出したいのですがどのようにすればよいでしょうか たとえば  項目 入金 出金 差引合計   という表で 19行目のデータを入力すると20行目の項目欄に繰越と入り差額合計欄にその20行の計が表示される そして 39行目にも同じように順次20行で締めるという考えなのです よろしくお願いいたします。

  • エクセルを使って金銭出納帖を作成

    エクセルを利用して金銭出納帖を作成しました。入金、出金、残高、摘要欄を作成。残高欄には、数式を入れ、入金額、出金額を入力すると、自動的に残高が出るようにしました。私は、そんな程度の出納帖でいいと思うのですが、友人から質問がありました。残高欄には数式が入っているので、ずーっと先の方(入出金未記入のところ)まで、零という数字が入ってしまっています。エクセルで作った出納帖で、先のほうまで零が入ってない帳簿があると。それって、どうやって作るのでしょう?

  • 関数教えてください

    関数教えてください、C3入金 D3出金 E3残高で行が3~40あります、E40にE3~E39までの数字が表示出来る、関数教えてください。E3の関数は出来ます。たとえばC10まで入力します、その時E10が20000であればE40も20000とでる様にしたい。

  • エクセル2003で表を作成し、ある項目だけ抽出する方法

    エクセル2003で、出納帳を作成しています。 当然出納帳ですから、各セルには関数が入力されています。列がF列まで、行は永久に下まである表です。 B列に勘定科目として見出しをつけています。売り上げ、備品、出張費等10項目くらいあります。その項目を、1項目分の行すべて抽出し、別の場所に移動(同じ場所でもいいのですが)し、さらに残高、入金、出金欄をその抽出した行のみで再計算をする、というものです。 可能でしょうか?? オートフィルですと、きれいに項目別で抽出されるのですが、式の再計算まではしてくれません。その項目での入出金、残高を計算、表示する方法を教えてください。 よろしくお願いします。

  • Excelの初歩関数について

    Excelの会計簿を引き継ぎました。 C欄:摘要 D欄:収入 E欄:支出 F欄:残高です。 F欄の残高に『=IF(C5="","",F4+D5-E5)』と関数がありました。 質問ですが、C5="","", はどのような意味があるのですか? F欄にF4+D5-E5 で良いのではないかと思います。 よろしくお願いいたします。

  • エクセルのマクロを教えてください。(初心者です)

    エクセルで子どものお小遣い帳を作ろうと思っています。 簡単に申し上げると、 1つの行に入金欄と出金欄と残高欄とコメント欄という簡単なものです。 残高欄は、一つ上の行の残高+入金欄-出金欄としています。 計算式は、 =IF(AND(INDIRECT("E"&ROW())="",INDIRECT("F"&ROW())=""),"",INDIRECT("G"&ROW()-1)+INDIRECT("F"&ROW())-INDIRECT("E"&ROW())) でやっています。 子どもが勝手に行やセルを追加したり削除したりして、 残高のところがおかしくならないようにINDIRECTを使っているのですが、 さらに一歩進んで、マクロで行を追加していきたいのです。 ボタンを押すなどして、マクロを実行すると 入力するための行が10行いっぺんに追加されるようなものを作りたいのです。 初心者なりにやったところ、 たとえば、1行目に計算式だけを入れた行を用意しておいて、 マクロを実行して5行目から14行目に これをコピーさせることができました。 ところが、もう一度マクロを実行すると またしても5行目から14行目に上書きされてしまいます。 (5行目を選択して貼り付けしてくれているようです。) 2回目にマクロを実行すると空欄となっている 15行目から24行目に新しい欄ができ、 次にマクロを実行すると 25行目から34行目に新しい欄ができ・・・ としていきたいのです。 ずぶの素人の私にどなたか この方法をご教示頂けませんでしょうか。

専門家に質問してみよう