お世話になります。以下のような動作を関数で実現させたいのですが、行き詰ってしまったためお知恵を貸してくださいませ。
【データ構成】
A科目 B本部 Cチーム D取引先コード E増減 という6項目で構成された明細があります。
そして、Aの科目グループ毎に、Bの本部毎合計行、Cのチームごと合計行が間に挟まっています。
A B C D E F(作業用追加列)
1 aaa 北本部 Nチーム a123 300
2 aaa 北本部 Nチーム b222 -250
3 aaa 北本部 Nチーム合計 50
4 aaa 北本部 Oチーム c899 -50
5 aaa 北本部 Oチーム d900 300
6 aaa 北本部 Oチーム合計 250
7 aaa 北本部合計 300
8 aaa 南本部 Sチーム b123 100
9 aaa 南本部 Sチーム合計 100
10 aaa 南本部合計 100
…
【実現したい動作】
やりたいことは、「フィルタにより明細のEの数値が一定の基準値(100以上OR▲100以下)の場合、明細とその明細の含まれる本部及びチーム合計行を表示させたい」というものです。
なお、合計行は、表示されている明細の合算値ではなく、固定値として保持しています。
【実現するための方針】
合計行はプラスマイナスでネットされるため、単純な数値フィルタにすると、除外されてしまう場合もあるので、Fにフィルタ用のダミー列をつくり、各行に「合計行かつ、条件に該当する明細が自分のグループに存在する場合は、フィルタにヒットする数値(ここでは”100”)がFにセットされる、という式を入れたいと考えております。
そこで、「『合計行』(B or C列に”合計”の文字が含まれる)場合、自分の科目と同じグループ、かつ同じ本部の中で該当する明細があるかを探しにいく」、という方向で以下のような式を組んでみましたが、おそらくMAX/MIN関数の使い方が間違っているのかうまくいきません。
この式にこだわるつもりはないのですが、やりたいことのイメージを補足するため記載させて頂きます。
(例:3行目に入る式)
=IF(AND(COUNTIF(B3,"*合計*"),MAX(IF(A:A=A3)*(B:B=LEFT(B3,2)),E:E))>=100),100,IF(AND(COUNTIF(B3,"*合計*"),MIN(IF(A:A=A3)*(B:B=LEFT(B3,2)),E:E))<=100),100,IF(AND(COUNTIF(C15,"*合計*"),MAX(IF(A:A=A3)*(C:C=LEFT(C3,4)),E:E))>=100),100,IF(AND(COUNTIF(C15,"*合計*"),MIN(IF(A:A=A3)*(C:C=LEFT(C3,4)),E:E))<=100))
この数式の誤り(方向性のみでも結構です)、あるいはよりよい方法があれば教えていただけますとありがたく存じます。
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
該当行のF列に「1」をセットする一例です。
わかりやすいように作業列を複数使います。3行目の式が書いてあったので、データを3行目からとします。
G列は明細の該当のものに1を設定
H列は該当明細の部名
I列は該当明細のチーム名
F3
=IF(G3=1,1,IF(OR(AND(COUNTIF(B3,"*合計"),COUNTIF($H:$H,SUBSTITUTE(B3,"合計",""))),AND(C3<>"",COUNTIF($I:$I,SUBSTITUTE(C3,"合計","")))),1,""))
G3
=IF(AND(ISERROR(FIND("合計",B3)),ISERROR(FIND("合計",C3)),ABS(E3)>=100),1,"")
H3
=IF(G3=1,B3,"")
I3
=IF(G3=1,C3,"")
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) If関数に関する質問です。(再掲) 3 2022/10/01 20:51
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「内訳」と「明細」の違い
-
キャバクラや風俗をクレカで支...
-
クレジットカード明細にある「...
-
VISA国内利用vsカンタンケッサイサービス ...
-
三井住友カードはメールで問い...
-
docomo.携帯請求書が急に届かな...
-
郵貯の合算について
-
アクセス サブレポートの改行...
-
PayPayカードの利用明細について
-
クレジットカード不正利用?
-
アクセスにtxtファイルの指定行...
-
【クリーニング店のレシート(明...
-
ETC利用料の明細
-
ユニクロ店舗でカード払いした...
-
クレジットカード明細について
-
電子明細システムについて質問...
-
アクセス 結合プロパティ が...
-
イオンカード複数登録
-
Accessサブレポートの内容が重...
-
Yahooカードの支払い明細が分か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
キャバクラや風俗をクレカで支...
-
「内訳」と「明細」の違い
-
VISA国内利用vsカンタンケッサイサービス ...
-
クレジットカード明細にある「...
-
クレジットカード不正利用?
-
三井住友カードはメールで問い...
-
「d払いご利用可能額」とご利用...
-
料金について
-
Accessサブレポートの内容が重...
-
明細と詳細
-
アクセスにtxtファイルの指定行...
-
確定申告を自宅のパソコンでし...
-
ETC利用料の明細
-
自己破産申請したら全クレジッ...
-
XMLをエクセルに取り込むマクロ
-
docomo.携帯請求書が急に届かな...
-
【クリーニング店のレシート(明...
-
PayPayカードの利用明細について
-
給与明細を渡してくれない
-
歯科医院で明細書が出ない所
おすすめ情報