- ベストアンサー
エクセルのデータ処理で困っています
- エクセルの関数に詳しくないため、データ処理に困っています。
- 1つ目の質問では、各行のデータが同じかどうかを判定する方法を教えてください。
- 2つ目の質問では、重複のあるセルに連番を付ける方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です 質問1 不備があったのと、画像が張り付かなかったので再投稿 =IF(SUBSTITUTE(REPT(B1&C1&D1&E1&F1,2),"-","") =SUBSTITUTE(B1&C1&C1&D1&D1&E1&E1&F1&F1&B1,"-",""),"●","×") 質問2 E1セル 判断材料 =MATCH(D1,$D$1:$D$8,0)*100+RIGHT(B1,2) F1セル 重複の判断 =(COUNTIF(E$1:E1,E1)<=1)*(COUNTIF($E$1:$E$8,">"&FLOOR(E1,100))-COUNTIF($E$1:$E$8,">="&CEILING(E1,100))) G1セル 重複の対象外は0 =IF(F1>1,INT(E1/100),0) H1セル 種類数を出す =IF(ROW(G1)=1,IF(G1=0,0,1), IF(G1=0,INDEX(H:H,ROW(G1)-1),IF(MATCH(G1,G$1:G1,0)=ROW(G1),INDEX(H:H,ROW(G1)-1)+1,INDEX(H:H,ROW(G1)-1)))) A1セル 結果 =IF(G1=0,"","重複"&INDEX($H$1:$H$8,MATCH(G1,$G$1:$G$8,0)))
その他の回答 (3)
- kagakusuki
- ベストアンサー率51% (2610/5101)
1.A1セルに次の数式を入力してから、A1セルをコピーして、A2以下に貼り付けると良いと思います。 =IF(COUNTIF($B1:$F1,$B1)*($B1<>"-")+COUNTIF($B1:$F1,$C1)*($C1<>"-")+COUNTIF($B1:$F1,$D1)*($D1<>"-")+COUNTIF($B1:$F1,$E1)*($E1<>"-")+COUNTIF($B1:$F1,$F1)*($F1<>"-")=(COLUMNS($B1:$F1)-COUNTIF($B1:$F1,"=")-COUNTIF($B1:$F1,"-"))^2,"●","×") 2.適当な列(ここでは仮にE列とします)を作業列として使用します。 まず、E2セルに次の数式を入力して下さい。 =IF(ROW($B1)>MATCH("゜",$B:$B,-1),"",IF(AND(SUMPRODUCT((OFFSET($D$1,,,MATCH("゜",$B:$B,-1))=$D1)*(RIGHT(OFFSET($B$1,,,MATCH("゜",$B:$B,-1)),LEN(OFFSET($B$1,,,MATCH("゜",$B:$B,-1)))-1)<>RIGHT($B1,LEN($B1)-1)))>1,COUNTIF($D$1:$D1,$D1)=1),COUNT(E$1:E1,"")) 次に、E2セルをコピーして、E3以下に貼り付けて下さい。 次に、A1セルに次の数式を入力して下さい。 =IF(OR($B1="",$D1=""),"",IF(SUMPRODUCT(((OFFSET($D$1,,,MATCH("゜",$B:$B,-1))=$D1)*(RIGHT(OFFSET($B$1,,,MATCH("゜",$B:$B,-1)),LEN(OFFSET($B$1,,,MATCH("゜",$B:$B,-1)))-1)<>RIGHT($B1,LEN($B1)-1))+(ROW(OFFSET($E$2,,,MATCH("゜",$B:$B,-1)))-1=ROW(A1)))*ISNUMBER(OFFSET($E$2,,,MATCH("゜",$B:$B,-1))))>0,"重複"&INDEX($E:$E,SUMPRODUCT(((OFFSET($D$1,,,MATCH("゜",$B:$B,-1))=$D1)*(RIGHT(OFFSET($B$1,,,MATCH("゜",$B:$B,-1)),LEN(OFFSET($B$1,,,MATCH("゜",$B:$B,-1)))-1)<>RIGHT($B1,LEN($B1)-1))+(ROW(OFFSET($E$2,,,MATCH("゜",$B:$B,-1)))-1=ROW(A1))>0)*ISNUMBER(OFFSET($E$2,,,MATCH("゜",$B:$B,-1)))*ROW(OFFSET($E$2,,,MATCH("゜",$B:$B,-1))))),"")) 次に、A1セルをコピーして、A2以下に貼り付けて下さい。 以上です。
お礼
ご回答ありがとうございます。 お礼が遅くなり申し訳ありません。 1.ですが、未熟者の私にも考え方のわかりやすい関数で、求める結果が得ることができました。 2.ですが、E2に貼付けた式にエラーがあるとのメッセージがでてしまい、思うような結果が得られませんでした。 どこをどう直せば、うまく動くのかわからず、とても残念です。 勉強させていただきます。 ありがとうございました。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
システム上、関連性がないなら質問1つにつき1つのスレを立ち上げてほしい。 で、時間がないので 質問1のみ =IF(SUBSTITUTE(B1&C1&D1&E1&F1,"-","")=SUBSTITUTE(C1&D1&E1&F1&B1,"-",""),"●","×") ないとは思うが、問題は7行目の場合
- aokii
- ベストアンサー率23% (5210/22062)
りんごとappleが同じかどうかはパソコンには解りませんので、まずは同じ言葉に変換しておくのはいかがでしょう。
お礼
ありがとうございます。参考にさせていただきます。
お礼
お礼が遅くなり、申し訳ありません。 2度も投稿していただき、ありがとうございます。 最初の投稿時のご指摘のとおり、質問一つずつ別なスレをたてるべきでした。ご指摘ありがとうございます。以後気をつけます。 質問1ですが、求める結果は得られたのですが、恥ずかしながら、どのような考え方で作られた式なのかがよくわからないので、関数事典とにらめっこで勉強します。 質問2ですが、こちらも求める結果を得られました。各式の説明をありがとうございます。この式も私の使ったことのない関数が多数あり、勉強不足を痛感しております。 お二人とも大変お忙しいところ、貴重なお時間を割いていただきまして、ありがとうございました。