アクセルの表に数字が入っています
この数字の一部を赤字に変更しました
この赤字部分だけを抽出もしくは並び替えは可能なんでしょうか
どなたか教えて下さい

A 回答 (3件)

一つの簡便法として、その数字の入っているセルの横のあいているセルに赤の数字の入っている段だけ「1」を入れていく、という方法があります。


こうしておくと、それをキーとして並べ替えも抽出もできますよ。
    • good
    • 0

下のマクロで1列は可能です。


色付きセルの列の先頭セルをアクティブにしてください。
(A列でA3セル以下を処理する時はA3を1クリック)
マクロを実行すると、色付きセル
(文字色ではありません)
の行のみを表示して、他の行を非表示にします。
止まった時はすでにデータがコピーされているので
別のシートなどに移動して貼り付けると
色付き行のみペーストできます。


Sub 着色されているセルのみを表示()
Dim 現在行 As Integer
Dim 現在列 As Integer
Dim 最終行 As Integer
Dim I As Integer
Dim 現在行退避 As Integer
'Dim 色番号 As Integer 'この行と次の行を生かし
'色番号 = ActiveCell.Interior.ColorIndex

現在行 = ActiveCell.Row
現在列 = ActiveCell.Column
最終行 = ActiveCell.SpecialCells(xlLastCell).Row

現在行退避 = 現在行

For I = 現在行 To 最終行
If Cells(I, 現在列).Interior.ColorIndex = xlNone Then
'「<> xlNone」を「=色番号」に修正すると、特定の色のセルのみ非表示に
Cells(I, 現在列).EntireRow.Hidden = True
End If
Next

Cells(最終行 + 3, 現在列) = "1"

Range(Cells(最終行 + 2, 現在列), Cells(最終行 + 3, 現在列)).Select

Selection.AutoFilter
Selection.AutoFilter Field:=1, _
Criteria1:="=", Operator:=xlAnd, _
Criteria2:="<>"

Cells(最終行 + 3, 現在列) = ""

Range(Cells(現在行退避, 現在列), Cells(最終行, 現在列)).Select
Selection.Copy

End Sub



'戻す場合は下のマクロを実行ください。

Sub すべてを表示()
Selection.AutoFilter
Cells.Select
Cells.EntireRow.AutoFit
End Sub





'複数行は作成に少し時間がかかりますが・・

'マクロを実行するまでの準備の
'説明が必要な場合は書き込みを。
    • good
    • 0

エクセルの基本機能では出来ません。


でもやり方は
http://cgi.fuji.ne.jp/~fj2094/cgi-bin2/wwwlng.cg …
http://oshiete1.goo.ne.jp/kotaeru.php3?q=212717
を参考にして下さい。
ちょっと山は高いです。がんばれ

参考URL:http://cgi.fuji.ne.jp/~fj2094/cgi-bin2/wwwlng.cg …
    • good
    • 0

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

このQ&Aを見た人が検索しているワード

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

Q数字の並び替え

  a b c  d
1 1 3 1 311
2 3 3 7 733
3 2 7 9 972
4 6 3 1 631
こういう風に3つのセルの数字をひとつのセルに
大きい順に並び替える関数分かる人教えてください!

Aベストアンサー

D1に以下の式を入れて下方向にコピー
=LARGE(A1:C1,1)*100+LARGE(A1:C1,2)*10+LARGE(A1:C1,3)

こんな式でもできます
=SUMPRODUCT(A1:C1,10^(RANK(A1:C1,A1:C1,1)-1))

Q数字の並び替え。

どなたかご存じでしたら回答をお願いします。
エクセルで下記のような4つでひと固まりなデータが
1つのセルに入っており縦にn個あるとします。
No.1 3270
No.2 0370
No.3 2586
No.4 1886
  :
  :

この1つのセルの中の隣同士の数字を比較して
左から小さい順番に並べ替える方法を教えてください。
(セルは1数字ごとに4つに別れてもかまいません。)
No.1 0237
No.2 0037
No.3 2568
No.4 1688
  :
  :

エクセルでの操作方法及びVBAならソースの記述をお願いします。

以上

Aベストアンサー

No.1.2です!
他の方の補足を読ませていただきました。

A列のデータは単に4桁表示の数値と言うコトなのですね?

そうであれば前回のコードは無視してください。
↓のコードをコピー&ペーストしてマクロを実行してみてください。

Sub test2()
Dim i, j As Long
Dim str As String
Dim c As Range
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To 4
Cells(i, Columns.Count).End(xlToLeft).Offset(, 1) = Mid(Cells(i, 1), j, 1)
Next j
Set c = Range(Cells(i, 2), Cells(i, 5))
str = WorksheetFunction.Min(c) & _
WorksheetFunction.Small(c, 2) & _
WorksheetFunction.Small(c, 3) & _
WorksheetFunction.Max(c)
With Cells(i, 2)
.Value = str
.NumberFormatLocal = "0000"
End With
str = ""
Columns("C:E").Delete
Next i
End Sub

こんな感じではどうでしょうか?m(_ _)m

No.1.2です!
他の方の補足を読ませていただきました。

A列のデータは単に4桁表示の数値と言うコトなのですね?

そうであれば前回のコードは無視してください。
↓のコードをコピー&ペーストしてマクロを実行してみてください。

Sub test2()
Dim i, j As Long
Dim str As String
Dim c As Range
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To 4
Cells(i, Columns.Count).End(xlToLeft).Offset(, 1) = Mid(Cells(i, 1), j, 1)
Next j
Set c = Range(Cells(i, ...続きを読む

Q数字の並び替え。

どなたかご存じでしたら回答をお願いします。
数字選択式宝くじのミニロト又はロト6の予想数字において、
予想数字として登場した数字を1~9、10~19、20~29、30~39、40~43
の5つに分ける方法が知りたいです。
例としては下記のような予想数字があるとします。

【予想数字】
06 08 18 21 34 43
02 19 24 26 38 40
12 16 28 33 39 42
07 15 25 30 35 41
05 14 23 29 32 37

これを、下記のように並べ替える。
02 05 06 07 08
12 14 15 16 18 19
21 23 24 25 26 28 29
30 32 33 34 35 37 38 39
40 41 42 43

【注意事項】
 ・予想数字は1~43までの数字を使用します。
 ・予想数字に使用する数字に同じ数字の重複はありません。
 ・予想数字に登場する数字は、文字タイプ、数字タイプどちらでもよいです。
 ・エクセル2007を使用します。

簡単に並べ替えれる方法が知りたいです。

よろしくお願いします。

どなたかご存じでしたら回答をお願いします。
数字選択式宝くじのミニロト又はロト6の予想数字において、
予想数字として登場した数字を1~9、10~19、20~29、30~39、40~43
の5つに分ける方法が知りたいです。
例としては下記のような予想数字があるとします。

【予想数字】
06 08 18 21 34 43
02 19 24 26 38 40
12 16 28 33 39 42
07 15 25 30 35 41
05 14 23 29 32 37

これを、下記のように並べ替える。
02 05 06 07 08
12 14 15 16 18 19
21 23 24 25 26 28 29
30 32 33 34 35 37 38...続きを読む

Aベストアンサー

A:F列に予想数字を並べる

H1に
=IFERROR(SMALL(IF(LEFT(TEXT($A$1:$F$10,"00;;;"))=(ROW(H1)-1)&"",$A$1:$F$10),COLUMN(A1)),"")

と式を記入してコントロールキーとシフトキーを押しながらEnterで入力し,右に下にコピーする。

QEXCELシート内の数字での並び替えについて

私はEXCEL超初心者です。
少しの関数がわかる程度です。
申し訳ないですが超初心者でもわかるように説明をお願いします。
EXCELで顧客データを作っており、顧客の受付順に顧客番号を1~2000までふっています。
今は番号は順番バラバラで入っています。
そのデータを顧客番号順に並び替えたいのですが、
データ→並び替えで並び替えても、100のあとに1000、1001、1002と続いてしまいます。
これを解消することはできますか?
簡単に1~2000まで順番どおりに並べることはできますでしょうか?
教えて下さい。

Aベストアンサー

機械からみると
数字を左から読むので
100と1000と101があると
100は1-0-0
1000は、1-0-0-0
101は、1-0-1(この1は、1000では、0の部分)
と並び替えられます。
よって解決方法は、桁を統一してください
100→0100のように
こうすると、思ったように並び替えられます。

QExcelで文字+数字のデータの並び替えについて

以下のような、文字と数字が混ざったデータの並び替えを行いたいのですが、

A3E
A20
A100
A120
A250
MYYYYYY1K
RAQQQ2A


下のようになってしまいます。


A100
A120
A20
A250
A3E
MYYYYYY1K
RAQQQ2A

何か良い方法はありませんでしょうか。
Excel2002を使用しています。


よろしくお願いします。

Aベストアンサー

VBAでやってみました。
文字+数字+文字の場合、文字部+数字部だけを考えているのでロジック的に完全ではないですが
標準モジュールに
Sub test01()
d = Range("A65536").End(xlUp).Row
MsgBox d
For i = 1 To d
s = Cells(i, "A")
m = ""
n = ""
nf = "n"
For j = 1 To Len(s)
x = Mid(s, j, 1)
If IsNumeric(x) Then
n = n & x
nf = "y"
Else
If nf = "y" Then
Else
m = m & x
End If
End If
Next j
Cells(i, "B") = m
Cells(i, "C") = Val(n)
Next i
End Sub
を実行し、B列昇順、C列昇順で並べると
A列  B列  C列
A3EA3
A20A20
A100A100
A120A120
A250A250
MYYYYYY1KMYYYYYY1
RAQQQ2ARAQQQ2
になります。
第3の文字列の塊を、D列につくり、B-D列各々で昇順にすれば
完全になるように思うが、質問の仕様に書いてなくて、きりがないので略。

VBAでやってみました。
文字+数字+文字の場合、文字部+数字部だけを考えているのでロジック的に完全ではないですが
標準モジュールに
Sub test01()
d = Range("A65536").End(xlUp).Row
MsgBox d
For i = 1 To d
s = Cells(i, "A")
m = ""
n = ""
nf = "n"
For j = 1 To Len(s)
x = Mid(s, j, 1)
If IsNumeric(x) Then
n = n & x
nf = "y"
Else
If nf = "y" Then
Else
m = m & x
End If
End If
Next j
Cells(i, "B") = m
Cells(i, "C") = Val(n)
Next i
End Sub
を実行し、B列昇...続きを読む


人気Q&Aランキング

おすすめ情報