• 締切済み

Excelでカテゴリ毎に同じ番号をつけるには。

Excelで次のような処理を関数など利用して機械的にしたいのですが,方法が(可能なのかも含め)わからず悩んでおります。 アドバイスいただければ幸いです。 【処理内容】 (1)整理番号ごとに金額を比較する。 (2)一番高い金額のコードを整理番号ごとの代表コードとして付番する。 【現状】 上記処理を手処理で行っています。

みんなの回答

  • shorun
  • ベストアンサー率42% (133/310)
回答No.5

No4です 添付図の式の入力先間違いました。 誤 D2 正 D3 へ入力する

  • shorun
  • ベストアンサー率42% (133/310)
回答No.4

回答NO1~NO3のように高度な式ではありませんが、 順番に整理しながら、こつこつと進めるのは面倒ですが、初歩的な方法で答えます。 これでも、手作業よりは早くでき、エクセルの練習になると思います。 バージョン2007の場合に、「データの並べ替え方法」はご理解済であることを前提に 説明します。(不明なら補足してください。) ステップ1 A2からD11まで選択して、最優先キーに整理番号を昇順で、次優先キーに金額を降順で 指定して並べ替えます。・・・添付図参照 ステップ2. D3 に次のような簡単な式を =IF(A3<>A2,B3,D2) 入力して、D11までコピーする。 これで代表コードが表示される。 結果は出ましたが、表の順序が質問の図と相違しています。 ステップ3. D2からD11を選択して、コピー D2へ形式を選択して貼り付けるとき「値」を選択して貼り付ける。 ステップ4. A2からD11まで選択して、最優先キーに整理番号を昇順で、次優先キーにコードを昇順で 指定して並べ替えて完了です。 ※注意 ステップ3.は「式」「=IF(A3<>A2,B3,D2)」を代表コードの「値」に変えているので このステップを飛ばして、ステップ4.を実行すると結果は無茶苦茶になってしまいます。

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

回答No1です。整理番号が違っていても同じ金額などが有る場合にも誤ったと答えとならないようにしているために式が多少複雑になっています。

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

こんにちは! 一例です。 配列数式になってしまいますので、データが多すぎる場合はあまりオススメではないのですが・・・ 画像の配置通りとして E3セルに =IF(COUNTBLANK(B3:D3),"",INDEX($C$3:$C$1000,MATCH(MAX(IF($B$3:$B$1000=B3,$D$3:$D$1000)),$D$3:$D$1000,0))) としてShift+Ctrlキーを押しながらEnterキーで確定! この画面からコピー&ペーストする場合はE3セルに貼り付け後 数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークは入り配列数式になります。 これをオートフィルで下へコピーすると なんとかご希望に近い形にならないでしょうか?m(_ _)m

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

E3セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(B3="","",INDEX(INDEX(C:C,MATCH(B3,B:B,0)):INDEX(C:C,MATCH(B3,B:B,0)+COUNTIF(B:B,B3)-1),MATCH(MAX(INDEX(D:D,MATCH(B3,B:B,0)):INDEX(D:D,MATCH(B3,B:B,0)+COUNTIF(B:B,B3)-1)),INDEX(D:D,MATCH(B3,B:B,0)):INDEX(D:D,MATCH(B3,B:B,0)+COUNTIF(B:B,B3)-1),0)))

関連するQ&A