- ベストアンサー
EXCEL 関数
毎度お世話になっております。 関数の内容で質問させて頂きます。 かなりややこしいので、ご了承ください。 A B C D 項目 日にち 金額 摘要 入金 1 1000 SONY 出金 1 500 電話代 振込入金 1 300 NEC 残高 1 200 ・ ・ ・ というように何百行とこういうデータがあります。(項目欄は、入金・出金・振込入金・残高の4つですが、摘要欄は、電話代や水道料等の他に様々な企業名等が載っております。) ここで質問なんですが、例えばこの何千行もあるデータから、項目が出金で日にちが1日で摘要に"代"という文字が含まれている場合、「水道光熱費」という文字が表示されるようにするにはどうしたらよいでしょうか? また、上記の条件にさらにプラスして、摘要欄に「振替」と記載されている場合 "代"を含む文字があり、かつ、「振替」という語句がある場合に「水道光熱費・手数料」といった合わせ技のような手法はないでしょうか? IF・SUMPRODUCT・NOT・ISERROR・FIND等の関数を合わせて色々試してみましたが、なかなかうまくできません。 どなたかご教授願います。 長くなり申し訳ございません。 よろしくお願い致します。
- spitzelt
- お礼率16% (46/279)
- オフィス系ソフト
- 回答数5
- ありがとう数4
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
「水道光熱費」、「水道光熱費・手数料」の表示を、各行の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のみの条件を満たす場合は”水道光熱費”をそれぞれ表示します。
その他の回答 (4)
- KURUMITO
- ベストアンサー率42% (1835/4283)
E1セルに日にちを入力しE2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(A2<>"出金",B2<>E$1),"",IF(COUNTIF(D2,"*代*振替*")>0,"水道光熱費・手数料",IF(COUNTIF(D2,"*代*")>0,"水道光熱費","")))
- tom04
- ベストアンサー率49% (2537/5117)
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)
こんばんは! 外しているかもしれませんが・・・ ↓の画像で検索する日付のセルを設けておきます。 画像では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)
んーとですね まずは、どのように関数を使ったのかを示してみてください (そのほうが、間違いや直したほうが良いところを教えてくれるので理解が早まります) とりあえずアドバイス =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」))) としたほうが、見やすいこともあります
お礼
ご返答ありがとうございます。 自分一人ではなかなかうまくできず、こんがらがってしまいました。 参考にさせていただきます。
関連する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 よろしくお願い致します!
- ベストアンサー
- Windows Vista
- エクセル たとえば20行で 繰越をしたい
ご教授ください 家計簿で20行ごとに項目に繰越と入れ残高にページ計を出したいのですがどのようにすればよいでしょうか たとえば 項目 入金 出金 差引合計 という表で 19行目のデータを入力すると20行目の項目欄に繰越と入り差額合計欄にその20行の計が表示される そして 39行目にも同じように順次20行で締めるという考えなのです よろしくお願いいたします。
- 締切済み
- Visual Basic
- エクセルを使って金銭出納帖を作成
エクセルを利用して金銭出納帖を作成しました。入金、出金、残高、摘要欄を作成。残高欄には、数式を入れ、入金額、出金額を入力すると、自動的に残高が出るようにしました。私は、そんな程度の出納帖でいいと思うのですが、友人から質問がありました。残高欄には数式が入っているので、ずーっと先の方(入出金未記入のところ)まで、零という数字が入ってしまっています。エクセルで作った出納帖で、先のほうまで零が入ってない帳簿があると。それって、どうやって作るのでしょう?
- 締切済み
- オフィス系ソフト
- エクセル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行目に新しい欄ができ・・・ としていきたいのです。 ずぶの素人の私にどなたか この方法をご教示頂けませんでしょうか。
- ベストアンサー
- オフィス系ソフト
補足
ご返答ありがとうございます。 この数式で少し疑問に思ったことがあったのですが、最初の=IF(AND(A2="出金",B2=1),IF(ISERROR(FIND("代",D2)),という数式は理解できたのですが、その後ろの,IF(ISERROR(FIND("振替",D2)),"水道光熱費","水道光熱費・手数料")),"")というのは、1番初めのIF関数のどの欄に入れているのでしょうか? もしかしたら、すべて手入力ということなのでしょうか? 私はいつも、fx関数を用いて作成しているのですがどうなんでしょうか? よろしくお願い致します。