• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数条件の番号付けについて)

複数条件の番号付けについて

このQ&Aのポイント
  • メーカーと商品の重複行には既存の番号を割り当てる
  • 販売可否が空白の場合は無視する
  • 同じメーカーが連続するように番号を振る

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

  • ベストアンサー
  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.1

数式で手間と処理時間を掛けてやる必要がないと思います。 ■G4セル =IF(AND(E4="可",COUNTIFS(C$4:C4,C4,D$4:D4,D4,E$4:E4,"可")=1),MATCH(C4,C$4:C4,0)*1000+ROW(),"") G21セルまでコピー ■C24セル =IFERROR(INDEX(C:C,MOD(SMALL($G$4:$G$21,$B24),1000)),"") 縦横方向にコピー 外部データの取り込みでやるなら 範囲を名前定義しておいて 定義した範囲を接続 既存の接続データから指定して プロパティの接続文字列を SELECT Distinct メーカー, 商品 FROM 範囲 WHERE 販売可否 ="可" AND メーカー Is Not Null でおしまい。 というかこんな手間をかけなくても ピボットテーブルだけでも済みます。

chimitta
質問者

お礼

ご案内頂いた式を少し改良させて頂く事で、自己解決する事が出来ました。 =INT(IF($G4<>"",SUMPRODUCT(($G$3:$G$21<>"")*($G$3:$G$21<=$G4)/COUNTIF($G$3:$G$21,$G$3:$G$21)),0)) 大変助かりました。 有難うございました!

chimitta
質問者

補足

ご回答有難うございます! 仰る通りでして、実際にはかなりの行数になっている為、ACCESSにしてしまった方が楽なのですが、不特定多数の者が入力したり、閲覧したりする関係と、そもそもフォームがエクセル縛りという事から、どうにかエクセルでクリアする必要がありました。また集計シートも決まっている為、ピボットテーブルも使えないのです… ちなみにですが、G4セルの=IF(AND(E4="可",COUNTIFS(C$4:C4,C4,D$4:D4,D4,E$4:E4,"可")=1),MATCH(C4,C$4:C4,0)*1000+ROW(),"")を入力した場合、販売可否が可であっても、上の行に同メーカー及び同商品が存在する場合、ブランク表示となります。 これをブランクではなく、上の行の同メーカー及び同商品の時の算出した値をそのまま参照するようにしたいのですが、どのようにすれば良いでしょうか?