• 締切済み

二重下線のない行だけを抽出

表があり、或る列に日付(2011/3/10のような形式)が入力されています。 2011年3月の日付(2011/3/14など)には、二重下線の付いているものと、そうでないものがあります。 2011年3月の日付のうち、二重下線のない行だけを抽出し、 日付の昇順に並べ替えたいのです。 いろいろなやりかたがあると思いますが、 できるだけ、簡単(難しい知識の要らない)で早いやりかたを教えてください。 Excel2007です。

みんなの回答

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.4

2007からはオートフィルタで色フィルタが使えます。 検索(Ctrl+F)で[検索と置換]ダイアログボックスを表示、検索する文字列には入力しないで [オプション]をクリック、[書式]をクリック、書式の検索ダイアログボックスを表示、 [フォント]タブで「下線(U)」欄から「二重下線」を選択して、OKをクリック、 [検索と置換]ダイアログボックスで[すべてを検索]をクリック、 Crtl+Aで該当セルをすべて選択し、塗りつぶしで色を設定する。 オートフィルタを設定し、色フィルターで抽出し、並べ替える

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>できるだけ、簡単(難しい知識の要らない) 置換とかオートフィルタなら判りますか? Ctrl+Hで置換のダイアログを出します ダイアログのオプションを開きます 書式▼から フォントタブの二重下線を選択 を 書式▼から セルの色を適当な色 (必要ならあまり目立たない色に) に,検索する文字や置換後の文字は何も記入せず,全て置換します。 セルの色じゃなく,フォントの色を置換するのでも構いません。 オートフィルタを取り付けます。 色フィルタで,塗った色を絞ります 必要ならコピーし,別の場所に貼り付けて抽出し,並べ替えて完成です。 ゴメンナサイ並べ替えも使いましたね。オートフィルタに並べ替えさせても大丈夫です。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。次のマクロにしてください。 Sub データの並べ替えと削除() Range("A1:B1000").Sort key1:=Range("B1"), order1:=xlAscending, Header:=xlYes For RowPos = 2 To 1000 If Cells(RowPos, 2).Font.Underline = -4119 Then Cells(RowPos, 2).Select Selection.EntireRow.Delete RowPos = RowPos - 1 End If If Cells(RowPos + 1, 2) = "" Then Exit Sub Next End Sub

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

二重下線の有無を関数を使って調べることはできません。 このためマクロを使って行うことになるでしょう。 初めての挑戦になるかもしれませんが次のようにしてみてください。 「開発」タブから「マクロ」をクリックして、マクロ名を入力する窓に例えば「データの並べ替えと削除」などの文字を入力します。同じ画面の「作成」をクリックします。 表示される画面の右側の画面に次のようなコードを入力します。 Sub データの並べ替えと削除() Range("A1:B100").Sort key1:=Range("B1"), order1:=xlAscending, Header:=xlYes For RowPos = 2 To 1000 If Cells(RowPos, 2).Font.Underline = -4119 Then Cells(RowPos, 2).Select Selection.EntireRow.Delete RowPos = RowPos - 1 End If If Cells(RowPos + 1, 2) = "" Then Exit Sub Next End Sub なお、上のマクロで=4119の部分はエクセル2010でのことですので2007では=Trueと書き換えて使用したほうがよいのかもしれません。試験してみてください。 このマクロを実行するには選択したシートで「開発」タブから「マクロ」をクリックして「データの並べ替えと削除」を選択してから「実行」をクリックすることで良いでしょう。

関連するQ&A