• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelの並び替えで、日付、時間、項目Bの順で並び替え)

Excelの並び替え方法と条件

このQ&Aのポイント
  • Excelの並び替えで、日付、時間、項目Bの順で並び替える方法について解説します。
  • 項目Aに特定の文字が入っていた場合は、優先的に一番最後にまわす方法も紹介します。
  • また、1/1のデータを日付、時間の順に並び替えることも可能です。

質問者が選んだベストアンサー

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

日付は最優先でその後は山、海の順、電話、メールの順のようですね。それぞれの項目に重みを付けて数値に置き換えます。それをもとに並び替えをすればよいでしょう。 例えば1行目は項目名としてE1セルには並び替えとでも文字を入力し、E2セルには次の式を入力し、下方にオートフィルドラッグします。 =IF(A2="","",A2+IF(C2="山",0.1,0.2)+IF(D2="電話",0.01,0.02)+B2*0.001) E列の表示形式は標準にします。 次にA1セルからE列の最後の行までを範囲として選択したのちに、「並べ替えとフィルタ」から「ユーザー設定の並べ替え」を選択し、表示の画面で最優先されるキーに「並べ替え」とし「昇順」にしてOKすればよいでしょう。

その他の回答 (4)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

このようなケースでは複数回の並べ替え操作を行います。 まず項目Aに特定の文字が入っていた場合は、優先的に一番最後にまわしたい並べ替え操作を先に実行し、その後、日付、時間、項目Bの順で並び替えます。 最初の項目Aに特定の文字(海)が入っていた場合にデータの最後に並べ替える操作は、以下のようにするのが簡単です。 項目Aで並べ替え操作を行うと、並べ替える特定の値(海)のセルの行がまとまって表示されます。 このデータ範囲だけを選択し、選択範囲の周囲にカーソルをおいてShiftキーを押しながら一番下の行にドラッグします。

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.3

例示の日付・時間がどこで切れているかが良く分かりませんが、すべて1/1として見ました。 わたしならば作業列を設けます。 1)E2セルに =IF(C2="海",1,0) 2)F2セルに =IF(D2="メール",1,0) 3)G2セルに =E2*10+F2 4)E2:G2範囲を選択し、データの一番下まで引っ張る 5)A1からデータ最終部分までを選択し、Alt + D 、S (並び替え画面へ) 6)最優先されるキー 列G 昇順、 2番目に優先のキー 列A 昇順、 3番目に優先のキー 列B 昇順 、データ範囲の先頭行 タイトル行 7)OK ご意向にそぐってますか。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

今のままの値では並べ替えが困難ということなら、並べやすくなる項目群を別列に作ることです。 1つの案として、 例えば、 「もともとの値」から 「日付&時間」、「山か海」、「電話かメール」の3つ群を作る 「日付&時間」はそのままでも順にできるのでそのまま使う、 ただし、YYYY/MM/DD-hh:mm:ssといった固定長に変更させる。 「1/19:」は「1/1 9:」「1/19」の違いをつける必要がある。 「山か海」で順番を変えたいので 「山」は「0山」、「海」は「1海」とグループ分けしておけば自然と「山」が前になる。 順番がわかるようマーキングできれば良い。「0山」「1海」は「0」「1」でも。 「電話かメール」も同じく 「電話」は「0電話」、「メール」は「1メール」とグループ分けしておけば自然と「電話」が前になる。 1/110:00山電話 → 1/110:00山電話 01/01-10:00 0山 0電話 1/19:00山メール → 1/19:00山メール 01/01-09:00 0山 1メール 1/112:00海電話 → 1/112:00海電話 01/01-12:00 1海 0電話 1/111:00海電話 → 1/111:00海電話 01/01-11:00 1海 0電話 1/18:00山メール → 1/18:00山メール 01/01-08:00 0山 1メール 少なくともこうすれば並べることができるようになりませんか?。 実際のデータから特定の文字があるかどうかはinstr関数で可能です。 1件目で言えば、 instr(1,"A1"、"山")の結果は「9」・・・・9文字目にある instr(1,"A1"、"海")の結果は「0」・・・・ない ほかにもVBA使ったりいろいろ手段はありそうです。

  • Pochi09
  • ベストアンサー率75% (42/56)
回答No.1

日時、海山、電話メールでセルは分かれていますか? 分かれていれば、「データ」-「並び替え」(昇順又は降順で並び替えのボタンではない)で 1 海山 2 電話メール 3 日時 を指定すればいいだけだと思いますが。 分かれていない場合は、分ける方法をまず検討すべきかと・・・

関連するQ&A

専門家に質問してみよう