
A列に、
500
80
200
200
100
300
と、データがあります。このデータのうち、重複しているデータ(200)を一つだけ表示させ、かつ、小さい順に並べ替えて、下記のようにしたいのですが…。
80
100
200
300
500
調べてみて重複データをチェックする方法や削除する方法などはありましたが、並べ替える方法が見つかりません。フィルタオプションかと思いましたが使い方がよくわかりません。配列数式のこともわかりません。オートフィルタやマクロは使いたくありません。よろしくお願いします。
No.8
- 回答日時:
自称imogasi方式の、変型判で解ける。
例データ
下記A列
A列 B列 C列 D列 E列
5005001500
80805300
2002003200
200100
100100480
3003002#N/A
B1に
=IF(COUNTIF($A$1:A1,A1)=1,A1,"")
を入れて下方向に式を複写。
C列C1に
=IF(B1="","",RANK(B1,$B$1:$B$100))
を入れて下方向に式を複写。
E列E1に
=INDEX($A$1:$A$100,MATCH(ROW(),$C$1:$C$100,0)*1)
を入れて下方向に式を複写。
(1)B列では重複データがないので、安心してRANK関数が使える。同順位がない。
(2)$100などは最多見込み行数に変えてください。
B、C列は使わない目立たないところを使ってください。
D列を使っていないのは意味はありません。
(3)該当行を超えるとエラーがでるが、防止策は省略>
回答どうもありがとうございます。実は、ほかの質問を見ていて、imogasiさん方式の回答を期待してました(^O^)。
試してみましたが、E列が一部#N/Aのエラーになってしまいました。やっぱり私のやり方が悪いのでしょうか。ともあれ皆様の回答のおかげで解決いたしました。お世話になりましてどうもありがとうございました。また何かありましたらよろしくお願いします。
No.7
- 回答日時:
A B C
1 list list list
2 500 80 80
3 80 100 100
4 200 200 200
5 200 200 300
6 100 300 500
7 300 500
1.セル B2 に式 =SMALL(A$2:A$7,ROW(1:1)) を入力して、此れを下方
にズズーッとA列のデータの下端と同じ行まで複写
2.[データ]→[フィルタ]→[フィルタオプションの設定]を実行
3.“指定した範囲”に目玉入れ
[リスト範囲] B1:B7
[検索条件範囲] (空白のままにしておく)
[抽出範囲] C1
“重複するレコードは無視する”にチェック入れ
4.[OK]をクリック
回答どうもありがとうございます。
フィルタオプションて、こういう風に使うんですね。
ご丁寧に教えていただいたおかげで一応できました!
ただ、[抽出範囲]が希望するセルにはできませんでした(>_<)
でも、また別のところで応用して使いたいと思います。どうもありがとうございました。
No.6
- 回答日時:
#4です。
新しい回答が出ているようですが、とりあえず補足を.......。まず、B2に入れる数式内の $A$2:$A$20 は、A:A に書き換えてください。
> B列は4番目に小さい数値が表示されます。
もしかしたら、数式を入れる先頭セルは 5行目なのではないですか?
その場合 B5 に入れる数式は =SMALL(A:A,ROW()-4) です。
ROW() は、数式を入力したセルの行何号が返します。
ですから、5行目に"1"番小さい数値を出す場合は、ROW()-4 なのです。
> D列は#Num!とエラー表示になります。
D列に入れる式内のデータ範囲は、C:C の形にはしないでください。
また ROW()-1 の部分も、実際のセル位置に合わせて変えてください。
> [Ctrl]と[Shift]を押しながら[Enter]しますと、数式に{ }が表示される
そうなります。
{ }は、配列関数であることを示しています。
度々の回答、どうもありがとうございます。
> 数式を入れる先頭セルは 5行目なのではないですか?
その通りです!ROW()-4 にしたらできました!
配列関数などもご丁寧に教えてくださり、本当にどうもありがとうございました!
No.4
- 回答日時:
#2です。
私の勘違いでした。
次の数式に変更してください。
B2: =SMALL($A$2:$A$20,ROW()-1)
C2: =IF(B2=B1,"",B2)
D2: =INDIRECT(ADDRESS(SMALL(IF($C$2:$C$20="","",ROW($C$2:$C$20)),ROW()-1),3))
D2だけは、数式入力後に [Ctrl]と[Shift]を押しながら[Enter]してください。(配列数式です)
その後、B2:D2 を選択して、20行目までドラッグコピーします。
重ねての回答どうもありがとうございます。残念ながらできませんでした。
まず、B列は4番目に小さい数値が表示されます。
また、D列は#Num!とエラー表示になります。
私のやり方が悪いのでしょうか?
それから、[Ctrl]と[Shift]を押しながら[Enter]しますと、数式に{}が表示されるのですが、いいのでしょうか?
せっかく教えていただいたのに済みません。
No.3
- 回答日時:
削除したデータ200は、表示だけさせないのですか?
それとも実際に削除するのですか?
ここでは、削除する方法をやってみましょう。
データ列Aに付きソートをして昇順にします。
上記データの右横B列に以下の関数を入力します。このとき
データ2行目(B3)から入力すれば良いです。
A1に表題、A2にデータ一番目、データはA○○行目まで。
B1は表題、B2は空白のまま、B3に下記関数。
=exact(a2,a3)
つまり、自己と一つ上の数字を同一かどうか比べる。
A○○行目まで、関数をドラッグして入れます。
すると各データにつき、自分より一つ上のデータと同一ならTRUE、
違うときは、FALSEが表示されます。
A1からB○○まで範囲を選択し、オートフィルターを選択します。
B列に付き、FALSEのデータを選択すると、重複していないものを
見ることが出来ます。
重複データを削除したいのなら、TRUEを選択してそのデータを
削除します。B列につき、FALSEのデータだけとなります。
回答どうもありがとうございます。
ソートは使いたくなかったのです。。。
そして、実際に削除すると、表が崩れてしまうので、表示だけさせたくないのです。
でも、exact関数は使えそうですね。ありがとうございました。
No.2
- 回答日時:
> オートフィルタ、マクロ、配列関数を使わない.
作業列を使うことは、どうなのでしょうか。
1行目は項目行にして(または空白)、A2:A20 にデータが並んでいるとして、
次のように入力します。
B,C列が作業用です。
B2: =SMALL($A$2:$A$20,ROW()-1)
C2: =IF(B2=B1,0,COUNTIF($B$2:$B$20,B2)-1)
D2: =OFFSET(B2,SUM($C$2:C3),0)
その後、B2:D2 を選択して、20行目までドラッグコピーします。
回答どうもありがとうございます!
ご提示の方法を試してみましたができませんでした(>_<)
ROW()-1 にはどんな意味があるんですか?
それから、配列関数は使わないということではなく、何のことかわからないだけなんです。
でも、教えていただいた、「IF(B2=B1…」 の辺りにヒントがありそうな気がします。もうちょっと頑張ってみます。どうもありがとうございました。
No.1
- 回答日時:
個人的には、並べ替えが一番楽じゃないかと思いましたが(汗
関数も何もなく、メニューに出てますよ?
メニューバーの
データ→並べ替え。
でどうでしょうか?
>>オートフィルタやマクロは使いたくありません。
ちょっと無理じゃないでしょうか。
重複データをチェックする方法や削除する方法、並べ替える方法が見つかったら。。。それを応用するしかないかと思いますが。。。
ザッと探した感じでは、「重複を削除して並べ替える」という機能を持った関数はなさそうでしたので。
使用頻度が高く、システムとして使用するのでしたら、マクロで作成してもいいでしょうし、ただ単に、このようなことがしたい~。という感じで投稿されているのでしたら、マクロ登録などする必要もないので、重複削除→データ並べ替え。の作業を行いましょう。
回答どうもありがとうございます。
実は、A列の数字は、別表から抽出しているものです。それで、その数字をsmall関数を使って、並べ替えるところまではできているのです。ただ重複したデータがあり、それらが表示されると非常に見づらく、次の操作が間違いやすくなってしまうため、安全のためにその重複データは一つだけ表示させたいのです。
何だか分かりづらくてすみません。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定した文字列に該当する行を重複しないようにリスト 3 2022/03/30 12:27
- その他(Microsoft Office) エクセルで串刺ししたシートの並べ替えをしたいです 4 2023/02/14 11:59
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- Excel(エクセル) 同じ品番のマスタで最新日付のものに〇印を入れたい 3 2023/03/31 17:45
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) Googleスプレッドシートの割合の関数と円グラフの並べ替えについて 1 2022/07/22 17:31
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Excel(エクセル) エクセルでのマクロを使ったデータの並べ替え 3 2022/12/03 18:54
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) 同じセルで重複している文字を削除したい 3 2022/11/15 12:55
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
UNIQUE関数が使えないバージョンで重複削除したい。
Excel(エクセル)
-
エクセルで特定の範囲内から小さい順に重複しない値を抽出して並べる
Excel(エクセル)
-
-
4
【Excel関数】別シートに日付順でデータを抽出する方法
Visual Basic(VBA)
-
5
エクセル SMALL の機能を文字列でもできないか
Excel(エクセル)
-
6
MIN関数で空白セルを無視したいのですが
その他(Microsoft Office)
-
7
リンク先のファイルを開かなくても、値が読み込めるようにできますか?(SUMIFSを使ってます)
Excel(エクセル)
-
8
Excelでエラー(#N/Aなど)値を含む範囲で最大値や最小値をもとめ
その他(Microsoft Office)
-
9
LARGE関数 飛び飛びの範囲を指定
Excel(エクセル)
-
10
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
11
エクセルで二つの数字の小さい値を抽出したいです
Excel(エクセル)
-
12
Excel MATCH関数で検索範囲内に同じ値の検索値が複数ある場合
Access(アクセス)
-
13
EXCELの条件付き書式で数式を空白と認識してくれる方法
Excel(エクセル)
-
14
excelで、空白を除いてデータを抽出する方法について
Excel(エクセル)
-
15
excelで任意のセルを指定回数コピーペーストする方法を教えてください
Excel(エクセル)
-
16
EXCEL関数:重複した値がある並び替えについて
Excel(エクセル)
-
17
エクセル2016でfilter関数がないので、、抜き出す関数をおしえてください。
Excel(エクセル)
-
18
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
19
エクセルで0を除いて昇順に並べ替えできますか
Excel(エクセル)
-
20
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数の条件に合う行番号を取得...
-
Excelで2行単位のソートの出来...
-
エクセルVBA C列に特定の文字列...
-
エクセルで日付から日にちを削...
-
エクセルで、重複データを除外...
-
エクセルで1列に500行並んだデ...
-
Countifよりも早く重複数をカウ...
-
エクセルで、ハイフンを抜きたい
-
excel:別シートの値を飛び飛び...
-
<EXCEL>月別にデータ数をカウ...
-
差し込み印刷 «Next Record»に...
-
ピポットテーブルですが、 やり...
-
エクセルで沢山のレコードの最...
-
本日の日付を超えているものを...
-
エクセル~空白のセルのある行...
-
エクセルで2つ以上のリスト比...
-
エクセル入力したデータを抜き...
-
エクセルで横並びの複数データ...
-
エクセルマクロ 重複しない値...
-
Excelで同じセルに箇条書きをし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで2行単位のソートの出来...
-
エクセルで日付から日にちを削...
-
複数の条件に合う行番号を取得...
-
エクセルで1列に500行並んだデ...
-
エクセルで、重複データを除外...
-
excel:別シートの値を飛び飛び...
-
Countifよりも早く重複数をカウ...
-
エクセルで横並びの複数データ...
-
VBA 数式を最終行までコピー
-
不要な行を消したい
-
エクセルVBA C列に特定の文字列...
-
Excelの30個ずつの平均値の出し方
-
エクセル2016にて、行挿入&コピ...
-
エクセルで1つの会社名に対して...
-
VBA 大きなtxtテキストファ...
-
【VBA】A列にある連続したデー...
-
エクセルで沢山のレコードの最...
-
500行の中から、多い順に抽出す...
-
エクセルで時刻だけを抜き出す...
-
Excel VBA 【QueryTables.Add】...
おすすめ情報