ちょっと変わったマニアな作品が集結

Office2017でのフィルタを使っての並び替えについて

本来は下記の通り並べたい
A1
A2
A3
A10
A11

実際にフィルタ(昇順)での結果
A1
A10
A11
A2
A3

過去の質問で
------------------------------
https://detail.chiebukuro.yahoo.co.jp/qa/questio …
文字列から数値へは当該データ範囲を選択して
データ→区切り位置→(何もしないで)完了です。
ちなみにExcel2010で数値だが文字列扱いとなっているセルの並び替えを行うと
下図のようなダイアログが出てくれます。
------------------------------
とのことでしたが、私はうまくいきませんでした。

詳しい方、解決した方は教えて頂けると助かります。
宜しくお願い致します(๑•̀ㅂ•́)و✧

A 回答 (13件中1~10件)

No9,No12の続きです。



No9お礼の具体的な品番例示見落としていました。
品番を分類してみたら下表の様なことがわかりましたが、
品番は細分類で3パターンある中で、
文字列なら 1,11,2は当然のとろ、数字が数値であるかのように
1,2,11に並べ替えたいとのことですが、以下私の感想です。
お気にさわられたらごめんなさい。

もし並べ替え課題がゲームなら
No11回答に IF関数を幾重にも拡張していけば面倒でも出来るかもしれません。
マクロなら、(自分は出来ませんが)No10回答だと思います。

しかし、実務の品番管理での並べ替えなら、

01,02,11と付番するとか、付番ルールを見直した方が、適切な管理方法だとおもいます。
付番ルールを確定して、品番管理されることをお勧めしたいです。
以上気付いたまま、失礼します
「Excel2017 フィルタ昇順並びがA」の回答画像13
    • good
    • 0
この回答へのお礼

そうですね、手動でがんばります!(^o^)!
ありがとうございました。

お礼日時:2018/04/08 19:13

No9です


解決していないようなので、再度おじゃまします。
質問の元データの形式では、期待する並べ替えは不可能なので
空いている列に作業列を追加して
元データを加工してから、その列を最優先して並べ替える必要があります。

とりあえず 例題を添付しますからご覧ください。
No8回答でお尋ねした、文字数は1文字、数字は2桁の場合の例です。
左の表で加工データを作成し、並べ替えれば、右の表になります。

B列は、No1さんへのお礼(0を付けない)加工データ
C列は No1さん提案の(0を付けた)加工データ

私はC列を薦めたいですが、0を付けないならB列の式を適用してください。

B2またはC2の式を入力して、7行目(必要なだけ)までコピーし、
その列を最優先して並べ替えれば右の表の結果が得られます。
なお、B2の式中 &" "& の部分は
&""& ではなく &" "& で " と"の間に 半角スペースがあります。

データが多数の場合は、手入力で書き直すより楽にできると思います。
「Excel2017 フィルタ昇順並びがA」の回答画像12
    • good
    • 0
この回答へのお礼

様々、ご思案いただきありがとうございました。
詳しい方でも難題であるのですね。Σ(´∀`;)

お礼日時:2018/04/08 19:13

通常処理では不可能でしょう、マクロ(VBA)を使えば出来そうですが…


考え方は、文字の部分は右側に半角スペース、数字の部分は左側に半角スペースを追加してそれぞれの桁数を合わせでてからソートして、ソート後に半角スペースを削除して元に戻す処理を行えば良いのですが、まずそれぞれの桁数を調べないといけないので結構時間がかかりそうです。
    • good
    • 0
この回答へのお礼

なるほど、かんたんな操作で一回では難しいのですね、ありがとうございました!(^o^)!

お礼日時:2018/04/07 19:54

[No.8お礼]へのコメント、


》 今回の案件ですと若干、難しいです
そうですか、サヨナラです。
    • good
    • 0
この回答へのお礼

はい、ありがとうございました(*´∀`)

お礼日時:2018/04/07 19:53

>「A」だけではないのです。


(1) A,B,AB,XYZなど最大文字数は何個ですか。
(2) 1,2,3,10,11など数字部分は最大何桁ですか。

上の2点を補足されれば
No4さんの式を元に解決できると思います。
    • good
    • 0
この回答へのお礼

ごめんなさい、私の当初の設問が悪いです。
ご推察いただいたとおり、
---
A1 A2 A11
B1 B2 B11
AB1XY AB2XY AB11XY
XYZ1ABC XYZ2ABC XYZ12ABC
---
という品番があったとして。
大枠としての順序(先頭のアルファベットの昇順)はフィルタで全て順序どおりになります。
そのすべてが
1
2
11
とならずに
1
11
2
となってしましまいます。

これを一括りづつ、手動で挿入するのはかなり面倒であるので質問をさせていただきました。
これまで曖昧な表記で、お答え頂いたすべての皆様にお詫び申し上げます(。>﹏<。)

お礼日時:2018/04/05 14:54

文字列 A1 を入力したセルを下方にオートフィルすると


A1
A2
A3

A9
A10
A11

となりますね。此れが添付図の A列です。

数値 1 を入力したセルを「"A"G/標準」あるいは「"A"0」に“ユーザー定義”書式設定し、かつ、“左詰め”に書式設定して、Shiftキーを抑えたままで、そのセルを下方にオートフィルしたものは、上と全く同じミテクレになることをご存知でしょうか?此れが添付図の B列です。
[オートフィルタ]の並び順を A列、B列で確認されたし。
ご存知でしたか?こりゃまた失礼!
「Excel2017 フィルタ昇順並びがA」の回答画像8
    • good
    • 0
この回答へのお礼

いいえ、知りませんでした!
お答えありがとうございます。
ただし今回の案件ですと若干、難しいです(`・ω・´)ゞ

お礼日時:2018/04/05 14:47

https://answers.microsoft.com/ja-jp/msoffice/for …の並び替え/08910196-fa5a-4c5f-a3c6-dbb15ad98aed


こんなやり方もあるようです
    • good
    • 0
この回答へのお礼

この質問者の方は
-------------------
ユーザ定義で対応出来そうです。
ありがとうございました。
-------------------
との答えがありますね。
しかしながら、このやり方ですと、かなり限定されてしまいそうです。

お礼日時:2018/04/04 16:10

既回答にあるようにAがついている時点で文字列なので、数値部分だけを見た並べ替えはできません。



№1さんの回答が一番現実的かなと思いますが、もしくっつく文字列がAだけならセルのデータはAをとってしまって表示形式でAをつければ数値として並べ替えできます。
    • good
    • 0
この回答へのお礼

そうですか、なるべく簡便に済むものだと思っておりました。

お礼日時:2018/04/04 16:09

文字の部分の文字数が一定では無いなどの場合、次のような条件で良ければマクロ(VBA)を使えば解決できると思いますが、マクロ(VBA)の使用はいかがでしょうか?


① 文字列+数字の形になっている。(後に文字列が有ったりしない、数字の部分がいろいろな所に飛んでいたりしない)
② スペース(空白文字)が含まれていない。
    • good
    • 0
この回答へのお礼

VBAを使わずにもっと簡便な方法はありますでしょうか。

お礼日時:2018/04/04 16:08

No.2 の補足



文字の部分が「A」だけなら別の列に「=MID(A1,2,100)」のようなもので数値部分だけの列を作り「数値に見えるものはすべて数値として並べ替えを行う」を行えば出来ます。
なお「100」の部分は数値部分の一番大きな物の行数以上ならば何でもいいです。
    • good
    • 0
この回答へのお礼

「A」だけではないのです。申し訳ないです。

お礼日時:2018/04/04 16:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qエクセルで文字が混じった数字を並べ替えしたいのですが

どなたか、お力お貸し頂けませんか?
一言でも、アドバイス頂ければ幸いです!!

エクセルで、製品の機番の並び替えをしたいです。
111234
223452
123A11
123B23
455A67

こんな感じで、機番が並んでいます。(本当は10桁だけどわかりやすくするため減らしてます)
困ったのは、機番にアルファベットが混じっているので、単純に照準で並べ替えると、アルファベット混じりでない数字のみが先にきて、アルファベット混じりが後に続くことです。
実は、アルファベットの前の数字を基準に並べ替えたいのです。(そして更に、アルファベット前の数字が同じな場合、以降のアルファベットはABC順に並べたい)

私が考えた方法は、
LEFT関数を使って、アルファベット前の数字だけ出して、(幸いなことに、アルファベットのある場所が、最初から4番目と決まっています、なので、これが使えると思って)、それを基準に昇順に並べ替える方法。
隣の列には、アルファベット含む全10桁の機番をそのまま付けておけば、これで自然と、アルファベットもABC順になってくれるみたいなので。
そして更に、アルファベットの混じっている機番だけが左詰めになってしまうので、数字のみの機番と見やすく揃えるため、セルの書式設定で、右か左のどちらか詰めに直します。
これでも、できるはできると思うのですが・・

このやり方では?という方法や何かアドバイスいただければ、とっても幸いです。

(機番が全部で1000個以上あって、これから私が在庫管理をまかされる機番の種類は、アルファベットが2個混じってるものや、混じってる位置もばらばらなものもあるようです><;アルファベットが最初と最後から3番目に混じってる機種とか・・(++;)今回はとりあえず、最初から4桁目がアルファベットの機種の機番のやり方だけでもと思い、ご相談させて頂きました)
どうぞ宜しくお願い致しますm(__)m

どなたか、お力お貸し頂けませんか?
一言でも、アドバイス頂ければ幸いです!!

エクセルで、製品の機番の並び替えをしたいです。
111234
223452
123A11
123B23
455A67

こんな感じで、機番が並んでいます。(本当は10桁だけどわかりやすくするため減らしてます)
困ったのは、機番にアルファベットが混じっているので、単純に照準で並べ替えると、アルファベット混じりでない数字のみが先にきて、アルファベット混じりが後に続くことです。
実は、アルファベットの前の数字を基準に並べ替えたいの...続きを読む

Aベストアンサー

「(そして更に、アルファベット前の数字が同じな場合、以降のアルファベットはABC順に並べたい)」
についての回答がないので補足します。

仮にA列に機番が入力されているとして、
1.まず機番の後にB列以降に7列以上挿入します。
2.10桁の機番を念のため、半角に揃えるならASC関数、全角に揃えるならJIS関数、を使って、機番を半角か全角に揃えます。そして、B列の計算結果をコピーして、C列に形式を選択して貼り付け→値を選択して貼り付けます。
3.C列を選択して、データ→「区切り位置」をクリックします。
4.「区切り位置指定ウィザード 1/3」のダイアログボックスが出てきたら、
  “スペースによって右または左に揃えられた固定長フィールドのデータ”
  の右のオプションボタンのほうを選択して、右下の「次へ>」をクリックします。
5.「区切り位置指定ウィザード 2/3」のダイアログボックスで、
  アルファベットのある4文字目の前後をクリックして、
  2つの区切り位置を作成します。
6.「区切り位置指定ウィザード 3/3」はそのままで、「完了」をクリックします。
7.これで、C、D、E列に機番が分割されました。
8.データ→並べ替えをクリックして並べ替えダイアログボックスを出して、
  最優先されるキーを‘列C’(前3桁の数字部分)
  2番目に優先されるキーを‘列D’(アルファベットの部分)
  にして「OK」をクリックして、並べ替えをします。
9.並べ替えは完了しましたが、機番が3列に分かれてしまっているので、
  F列に、CONCATENATE関数を使って、
  引数を同じ行のC列、D列、E列を選択します。
10.出てきた(くっついた?)計算結果を、G列に
  形式を選択して貼り付け→値を選択して貼り付けます。
11.不必要な列を削除します。

面倒と思うでしょうが慣れると思います。いかがでしょうか。

なお、余談ですが、Excel2002以降では、セルの書式を事前や事後に“文字列”にしてもエラーチェックが出てしまいますので、
出てきたエラーチェックのインジケータを残して無視するか、
ツール→エラーチェックのダイアログで「無視」をクリックしまっくって消すか、
ツール→オプション→「エラーチェック」タブで“バックグラウンドでエラーチェックを行う”のチェックボックスをオフにするしかないです。

「(そして更に、アルファベット前の数字が同じな場合、以降のアルファベットはABC順に並べたい)」
についての回答がないので補足します。

仮にA列に機番が入力されているとして、
1.まず機番の後にB列以降に7列以上挿入します。
2.10桁の機番を念のため、半角に揃えるならASC関数、全角に揃えるならJIS関数、を使って、機番を半角か全角に揃えます。そして、B列の計算結果をコピーして、C列に形式を選択して貼り付け→値を選択して貼り付けます。
3.C列を選択して、データ→「区切り位置」をクリ...続きを読む

Q並び替え

お願いします。
エクセルで例えばA1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11を並び替えるとA1,A10,A11,A2,,,,,,,となりますよね。そうではなくA1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11と並ぶようにはできないのでしょうか?

Aベストアンサー

並び替えをする時にに補助列を一行挿入して
キー列がA列(A1から)だとすると
補助列に
=RIGHT(A1,LEN(A1)-1)+0
(の様な式をフィルコピーをして)
というような感じで数字の部分を切り出して、この列をキーにして並び替えをします。
用済み後、補助列は、削除(または、非表示に)します

Q並び替え(エクセル)

A-1 A-2 A-3 A-11 A-14 A-23 とかあって
並び替えをすると
A-1 A-11 A-14 A-2 A-23 A-3 となります。

1から順番に並べたいのですがどうすればよいですか?

Aベストアンサー

A列、A1セルからデータがあるとして
B列、B1に
=VALUE(MID(A1,3,LEN(A1)-2))
と入れ、下にドラッグしてください。
AB列を選択して、B列を基準に並べ替えをしてください。

あるいは、データ作成時にA-1やA-2はA-01、A-02としてみてください。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング