- 締切済み
エクセルで並べ替えやフラグ立て
エクセル2007を使っています。 どれか一個でもいいですので、下記教えて下さい。 A列 B列 C列 品名 店 価格 レモン 八百屋 100 にんじん 八百屋 50 レモン スーパー 120 すいか 八百屋 720 すいか スーパー 800 レモン スーパー 200 メロン 上記で Q1.A列の種類はレモン、すいか、にんじん、メロンの4種類ですが、この4という数字を出す方法を教えて下さい。 Q2 A列に含まれている個数順で レモン レモン レモン すいか すいか にんじん メロン の順で並べ替える方法を教えてください。 Q3 紐づいている種類でフラグを立てる方法 A列のレモンはB列で八百屋とスーパーと紐づいている A列のにんじんは八百屋としか紐づいていない A列のすいかは八百屋とスーパーと紐づいている A列のメロンは紐付けが無い このA列とB列の紐づけのある種類ごとにD列にフラグをたてる方法 例えば レモン 八百屋 100 ○ にんじん 八百屋 50 △ レモン スーパー 120 ○ すいか 八百屋 720 ○ すいか スーパー 800 ○ レモン スーパー 200 ○ メロン ×
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
お示しのデータがシート1のA列からC列の2行目から下方に入力されているとします。 Q1について 次の式で種類を求めることができます。 =SUMPRODUCT((A2:A1000<>"")/COUNTIF(A2:A1000,A2:A1000&"")) Q2について Q3に答えるためにも作業列を例えばE列に作るとしてE2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(A2="","",IF(AND(COUNTIF(A$2:A2,A2)=1,COUNTIF(A:A,A2)=1),100000+IF(B2<>"",5000-ROW(A1),-ROW(A1)),IF(AND(COUNTIF(A$2:A2,A2)=1,COUNTIF(A:A,A2)>1), COUNTIF(A:A,A2)*100000,INDEX(E$1:E1,MATCH(A2,A:A,0))+COUNTIF(A$1:A1,A2)))) そこで並べ替えた表をシート2に作るとしてA2セルには次の式を入力してC2セルまでオートフィルドラッグコピーしたのちに下方にもオートフィルドラッグコピーします。 =IF(ROW(A1)>COUNTA(Sheet1!$A$2:$A$1000),"",IF(INDEX(Sheet1!$A:$C,MATCH(LARGE(Sheet1!$E:$E,ROW(A1)),Sheet1!$E:$E,0),COLUMN(A1))=0,"",INDEX(Sheet1!$A:$C,MATCH(LARGE(Sheet1!$E:$E,ROW(A1)),Sheet1!$E:$E,0),COLUMN(A1)))) Q3について シート1のD2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(A2="","",IF(E2>=200000,"○",IF(AND(ROUNDDOWN(E2,-5)=100000,B2<>""),"△","×")))