- ベストアンサー
【エクセル】抽出データを上に詰めて表示させたい。
重複するデータを上に詰めて表示さセル方法が解らないです。 B列はA列の元データから重複分は表示しないようにしています。 C列はA列の元データから重複分の数を数えています。 │A │B │C│ D │ 1│あああ │あああ │3│ 2│いいい │いいい │2│ 3│あああ │ │ │ 4│ええ │ ええ │2│ 5│おおお │おおお │1│ 6│ええ │ │ │ 7│いいい │ │ │ 8│あああ │ │ │ 9│うううう│うううう│1│ ・ ・ 上記のような表で、A列が元データで、 B列にはセルB1から、=IF(COUNTIF($A$1:A1,A1)>1,"",A1)という関数を オートフィルで下まで伸ばしています。 C列は、=IF(COUNTIF($A$1:A1,A1)>1,"",COUNTIF($A$1:$A$100,A1))と いう関数を使用しています。 そこで、B列C列の何も表示されていないセルを詰めて、上に詰めて 表示させたいです。マクロは良くわからないのでなるべく関数で お願いします。ちなみに、今使用している関数も、こうしたほうが いいというのがありましたら。訂正してもらえると助かります。 解りづらいところがありましたら、補足します。 宜しくお願いします。
- aisenyou
- お礼率35% (25/70)
- オフィス系ソフト
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
B列にはセルB1から、=IF(COUNTIF($A$1:A1,A1)>1,"",A1)という関数を オートフィルで下まで伸ばしています。 の部分の作業に2行使います。 B列は =IF(COUNTIF($A$1:A1,A1)>1,"",ROW(A1)) にして作業列にして使います。(必要なデータのみ その行番号を出しておきます) C列に =INDEX($A$1:$A$100,SMALL($B$1:$B$100,ROW(A1)),1) エラー処理入れると =IF(ISERROR(SMALL($B$1:$B$100,ROW(A1))),"",INDEX($A$1:$A$100,SMALL($B$1:$B$100,ROW(A1)),1) で大丈夫かと思います。 C列は、=IF(COUNTIF($A$1:A1,A1)>1,"",COUNTIF($A$1:$A$100,A1))と は D列に、=IF(C1="","",COUNTIF($A$1:$A$100,C1))
その他の回答 (2)
- merlionXX
- ベストアンサー率48% (1930/4007)
では、D1に =IF(B1="","",COUNTA($B$1:B1)-COUNTBLANK($B$1:B1)) と入れて、下にオートフィル E1に =IF(ROW(E1)<=MAX($D$1:$D$100),INDEX(B$1:B$100,MATCH(ROW(E1),$D$1:$D$100,0)),"") と入れて、下にオートフィル E列をF列にオートフィル これでB列C列のデータが上詰でE列とF列に表示されます。 D列がじゃまなら非表示にして下さい。
お礼
回答ありがとうございます。 見事に思い通りのものができました。
- bin-chan
- ベストアンサー率33% (1403/4213)
少なくともC列だけでもオートフィルタを設定して、「空白以外のセル」を選択、という方法ではだめですか? 別解ですが、普段このような場合には、別に行番号列を設け、「データの並べ替え」で空白行を取り除き、再度「行番号」で元の順にしています。
お礼
早速の回答ありがとうございます。 説明不足ですいません。オートフィルタを使わない方法で出来ればと 思っています。宜しくお願いします。
関連するQ&A
- エクセルでデータの「どこで重複か」を見つける
エクセルでデータが「どこで重複しているか」を見つける方法として 以前質問した際に教えていただいたのが B1セルに次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",IF(COUNTIF(A$1:A1,A1)<=1,"","重複No."&COUNT(A$1:A1,A1))) これで重複があれば上の行から数えてその行のA列に有るデータが何番目の重複であるかがB列に表示されます。 ということでしたがこれには漏れがありました。 =IF(A1="","",IF(COUNTIF(A:A,A1)<=1,"","重複No."&COUNT(A:A,A1))) とすると漏れはありませんが、No.はすべて「0」となるのです。 何番目の重複かが分かる方法はありませんか。
- ベストアンサー
- オフィス系ソフト
- エクセル 重複データの検索(COUNTIF関数!?)
A列とB列で、重複しているデータ(数字)を検索するための関数を教えて下さい。 確か、こんなような↓関数だったと思うのですが、ちょっと違うようです。 C2=IF(COUNTIF(A2,B1:B2377),"","×")
- ベストアンサー
- オフィス系ソフト
- 【エクセル】データの重複チェック
次のようなデータが入力されているとします。 A列/B列/C列/D列/E列/F列 1行:都道府県/市区町村/data1/check1/data2/check2 2行:東京/新宿/1/""/1/"" 3行:東京/新宿/2/""/2/"重複" 4行:東京/新宿/3/""/3/"" 5行:東京/渋谷/1/重複/4/"" 6行:東京/渋谷/2/""/5/"" 7行:東京/渋谷/3/""/6/"" 8行:東京/渋谷/4/""/2/"重複" 9行:東京/渋谷/1/重複/7/"" ここで、check1は、 「都道府県」のグループでdata1に重複があれば、「重複」表示をさせます。 また、check2は、 「市区町村」のグループでdata2に重複があれば、「重複」表示をさせます。 例えば、 セルD2=IF(COUNTIF($C$2:$C$4,$C$2:$C$4)>1,"重複","") セルF2=IF(COUNTIF($E$2:$E$9,$E$2:$E$9)>1,"重複","") というように関数を入力して、2行目以下にコピペすればいいのですが、 実際は1万行以上のデータがあり、「都道府県」「市区町村」も多くのグループがあるため いちいち範囲を指定するのも大変です。 そこで、上記関数のように手動で範囲を指定しなくても、 自動で範囲指定をして重複チェックができる良い方法があれば教えてください。 できれば関数がいいのですが、VBAでも構いません。 ご教授のほど、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 重複するデータの抽出について(エクセル)
エクセル2003にて重複するデータの取り出しをしたいのですが、 わからないので教えてください。 例えば A列 B列 C列 D列 E列・・・ 1 色 1回目 2回目 3回目 4回目 2 赤 あ a A 0 3 白 い b B 1 4 黄 う c C 2 5 黄 え d D 3 6 黒 お e E 4 7 赤 か f F 5 : このデータの中から、別のシートのA1に 赤と入力したら、B1にD列のA・Fを抽出 黄と入力したら、B1にD列のC・Dを抽出をしたいです。 VLOOKUP関数を使用してみたのですが、 赤と入力すると、D列のA(1番上のデータ)のみしか抽出出来ず、Fが抽出されません。 重複するデータがあるのはA列のみで、D列には重複するデータはありません。 わかりにくい文章ですみませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルの関数でのデータ処理が重い
お願いします。 エクセルで2万件のデータを関数処理しています。時間がかかるのでVBAで処理できればと 考えています。 A列に当日の顧客コード B列に前日の顧客コード 以下の式によって、前日と当日を比較して増えた顧客と減った顧客を表示させています。 C列に=IF(COUNTIF(B$2:B$23000,A2)>=1,"","増")の関数が入っています。 計算させた後でC列をオートフィルタで増のみ表示し、確認。 D列に=IF(COUNTIF(A$2:A$23000,B2)>=1,"","減")の関数が入っています。 計算させた後でD列をオートフィルタで減のみ表示し、確認。 これをVBAで処理して時間の短縮をしたいのでお教え頂ければ幸いです。 宜しくお願いします。
- 締切済み
- オフィス系ソフト
- エクセルでのデータの表示
エクセルでのデータの表示 次のような表が在ります。 A列 B列 100 2 100 2 101 6 101 2 101 6 102 6 102 6 103 2 103 2 103 2 104 6 104 2 ・ ・ ・ ・ ・ ・ これを、次のように、C列に「◎」と「×」を表示させるようにするには、どのようにすれば可いですか? つまり、「A列のナンバーが重複していて、且つ、B列の数字が異なる二種類の場合は、C列に◎」、「A列のナンバーが重複していて、B列の数字は一種類の場合は、Cれつに×」と表示させたいのです。 A列 B列 C列 100 2 × 100 2 × 101 6 ◎ 101 2 ◎ 101 6 ◎ 102 6 × 102 6 × 103 2 × 103 2 × 103 2 × 104 6 ◎ 104 2 ◎ ・ ・ ・ ・ ・ ・ 宜しくお願い致します。
- ベストアンサー
- その他([技術者向] コンピューター)
- Excel 重複データーのカウント
Excelの関数に対する質問です。 =COUNTIF(A1:E1,A1) はA1と重複するデータを求めますが、この方法ではなく A B C D E 0 A A B C D 1 A A B C C 2 このように 行に重複するデータのデータ件数をいっきに求められる関数があるのでしょうか? それともそれぞれのデータを=COUNTIF(A1:E1,A1)~でそれぞれもとめた後、それを合計しなければならないのでしょうか? よろしくお願いします。
- 締切済み
- Excel(エクセル)
- エクセルの関数(列の差分を抽出)について
A列(A1~A5)のデータと、B列(B1~B5)に1箇所でも差分があった場合に C7に"差分あり"みたいなことを表示させたいのですが、どのような関数になりますでしょうか。 countifの関数で試したのですが、うまくいかず。質問させて頂きます。 A列 B列 1行目 123 123 2行目 123 123 3行目 123 456 4行目 123 123 5行目 123 456 7行目 C7(列に差分があったかを表示させたい)
- ベストアンサー
- その他([技術者向] コンピューター)
- エクセル 重複データの抽出
エクセルを使って重複データをチェックしようと思っていCOUNTIFで試したのですがうまくいきません・・・ご存知の方教えてください。m(__)m A B C D E F 店番 顧客番号 氏名(カナ) 電話番号 住所1 住所2 という表の電話番号が重複する先を抽出したいのです。データ件数は約3000件ほどあります。できれば重複したデータは別のシートに店番順に表示をしたいのですが関数でできるのでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセル 文字が表示されたセルを抽出したい
エクセルの関数を教えて下さい。 A B C D 1 りんご りんご 2 プリン プリン 3 紅茶 紅茶 4 バナナ バナナ 5 6 緑茶 緑茶 上記のような表があります。(A~は列、1~は行番号です) A1~C6までは、IF関数で、条件にあった場合に“りんご”などを表示、そうでない場合には空白と なるような式が入っています。 そして、D列のように、それぞれの行に表示されている文字を抽出、何も表示されていない場合は空白としたいのです。 D列にはどういった式を入れればよいかを教えて下さい。 ※各行に表示されるのは1つのセルのみで、例えばA1のセルとC1のセルに文字が表示される ことはありません。A1に文字が表示されている場合は、必ずB1・C1のセルは空白です。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
お礼
回答ありがとうございます。出来ました。 さらに式も直していただき、スマートになってとても感謝です!