エクセルの標準の機能として、データ-並び替えで、選択範囲の昇順、降順の並び替えが出来ます。
しかし、優先されるキーとしては、セル内のデータ全てを対照とされてしましますが、セル内の文字列から任意の位置の文字を除いた(無視)した並び替えをする方法を考えています。何か?いい方法が無いでしょうか?ヒントだけでも教えてく頂きたいのですが宜しくお願い致します。
例:
H03W001
H03E003
H03S002
H03N004
を昇順でソートすると
H03E003
H03N004
H03S002
H03W001
の順で並び替えらてれてしまいます。
で、4文字目を無視して
H03W001
H03S002
H03E003
H03N004
のように並び替えたいのですが・・・?
このキーに付属するデータもありますので、基本的には、セルの選択範囲(複数列)もしくは、行単位の並び替えを望んでいます。
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
こんにちは。
>ヒントだけでも教えてく頂きたい
ヒントは既に出てますのでシンプルなサンプルを。
表: A~D列
見出し: 一行目(A1:D1)
データ: 二行目から
作業列: E列(A列の4文字目を省いた値)
SortKey: E列
----------------------------------------------
Sub Test()
Dim R As Long
Dim LastRow As Long
Dim myRange As Range
LastRow = Range("A65536").End(xlUp).Row
For R = 2 To LastRow
Cells(R, "E").Value = Left(Cells(R, "A"), 3) & Mid(Cells(R, "A"), 5, 3)
Next R
Set myRange = Range("A2:E" & LastRow)
myRange.Sort Key1:=Range("E2"), Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod:=xlPinYin
Columns("E:E").ClearContents
End Sub
-----------------------------------------------
以上です。
No.3
- 回答日時:
No1 さんと同じ考え方で
>任意の位置の文字を除いた(無視)した並び替えをす
>る方法を考えています。
>4文字目を無視して
A列にデータが入っていて、作業列を使用し、そこに
=LEFT(A1,3)&MID(A1,5,LEN(A1)-4)
または
=REPLACE(A1,4,1,"")
という式を入れて、その列を基準に並べ替え
No.1
- 回答日時:
A列にデータが入っていて、データが7文字であると仮定すると、作業列を一列作って、そこに
=LEFT(A1,3)&RIGHT(A1,3)
という式を入れて、その列を基準に並べ替える、というのはいかがでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- その他(Microsoft Office) 逆順 3 2023/08/24 09:30
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- Excel(エクセル) オフィスをLibreOfficeからmicrosoft 2013に変えました。 1 2022/05/09 00:28
- Excel(エクセル) 【エクセル】並び替えからの並び替え方法 7 2022/07/22 09:46
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- その他(ソフトウェア) Googleスプレッドシートについて 5 2022/05/07 11:46
- Excel(エクセル) Googleスプレッドシートの割合の関数と円グラフの並べ替えについて 1 2022/07/22 17:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
LOOKUP関数を使えばいいのでし...
-
PowerPointで表の1つの列だけ...
-
2つのエクセルのデータを同じよ...
-
エクセルで最初のスペースまで...
-
エクセルの表から正の数、負の...
-
エクセル 文字数 多い順 並...
-
エクセルの隣り合う列のグループ化
-
Excelで半角の文字を含むセルを...
-
エクセルで一列おきに空白列を...
-
エクセルの並び変えで、空白セ...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
文字列に数字を含むセルを調べたい
-
A列がない・・・A列が非表示に...
-
エクセルの項目軸を左寄せにしたい
-
EXCELで 一桁の数値を二桁に
-
【ACCESS/必須条件とOR条件を組...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
[関数得意な方]教えて下さい・...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
Excelにてある膨大なデータを管...
おすすめ情報