• ベストアンサー

お世話になります。並び替え替えについての関数などがあれば教えていただき

お世話になります。並び替え替えについての関数などがあれば教えていただきたいです。 EXCELで A1B1 4 2 B 4 A B 2 A となっている場合に E1F1 2 2 4 4 A A B B と同じものが横になるようにする方法を教えて下さいませ。 関数などがありますでしょうか? また A1B1C1D1 ア オ ア カ シ ロ ク ロ ア カ ア オ ク ロ シ ロ をAB.CDを一つのまとまりと考えて下記 J1K1L1M1 ア オ ア オ シ ロ シ ロ ア カ ア カ ク ロ ク ロ のように並び替える方法はございますでしょうか? エクセルの本をみても全然わかりません。 関数を使うのであれば数式の意味も理解したいので出来ればそちらに関してもご説明いただければ幸いです。 数式だけでも結構ですのでどうぞよろしくお願い申しあげます。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です! 再びお邪魔しました。 補足の質問に関してです。希望通りになるかどうか判りませんが・・・ もう一度画像をアップします。 上側のSheetが最初の質問で下側のSheetが2番目の質問になります。 まず、質問1に関しては作業用の列を使っています。 作業列G2セルを =D2&E2 としてオートフィルで下へずぃ~~~!っとコピーします。 そして結果のI2セルに =IF(A2="","",A2) として、K2セルまでオートフィルでコピー L2セルには =IF($I2="","",INDEX(D$2:D$100,MATCH($I2&$J2,$G$2:$G$100,0))) という数式を入れ、N2セルまでコピー 最後にI2~N2セルを範囲指定し、N2セルのフィルハンドルで下へコピーします。 次に二つ目の方法ですが、 F2セルに =IF(A2="","",A2) として隣のG2セルまでコピー 次にH2セルに =IF(OR($F2="",COUNTIF($C$2:$C$100,$F2)=0),"",INDEX(C$2:C$100,MATCH($F2,$C$2:$C$100,0))) という数式を入れ、隣のI2セルまでコピー 最後にF2~I2セルを範囲指定し、I2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 尚、数式は両方とも100行目まで対応できるようにしています。 以上、今回も長々と書いてしまいましたが お役に立てば良いのですが・・・ 的外れならごめんなさいね。m(__)m

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 一例です。 ↓の画像で説明させていただきます。 左側のSheetが最初の質問で、右側のSheetが二つ目の質問です。 両Sheetとも作業用の列を使っています。 まず、Sheet1の作業列C2セルに =IF(A2="","",SUMPRODUCT((A$2:A$100<A2)*(A$2:A$100<>""))+COUNTIF(A$2:A2,A2)) としてオートフィルで列方向(隣のD2セルまで)と行方向にコピーします。 これでA・B列の昇順に数値が表示されますので、この数値を使って並び替えをします。 質問ではE・F列になっていますが、作業列を使った関係上、F・G列に表示しています。 F2セルに =IF(COUNT(C$2:C$100)<ROW(A1),"",INDEX(A$2:A$100,MATCH(ROW(A1),C$2:C$100,0))) としれ列方向(隣のG列まで)と行方向にオートフィルでコピーすると 画像のような感じになります。 次に、右側のSheetですが、 作業列E2セルは単純に =C2&D2 としてオートフィルで下へコピー! 結果のJ2セルは =IF(A2="","",A2) として隣のK2セルまでコピー。 L2セルは =IF(COUNTIF($E$2:$E$100,$J2&$K2),J2,"") として隣のM2セルまでコピー。 最後にJ2~M2セルを範囲指定し、M2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 尚、数式は100行目まで対応できるようにしています。 以上、長々と書きましたが 参考になれば幸いです。 他に良い方法があれば読み流してくださいね。m(__)m

fasdsfa
質問者

お礼

誠にありがとうございます。大変わかりやすかったです。馬鹿な私でも画面を見ながらできました。 もし余裕がございましたら A1B1C1 D1E1F1 アカ1 アオ2 シロ5 アカ4 アオ3 シロ4 を アカ1 アカ4 シロ5 シロ4 アオ3 アオ2 とする方法をお教え願います。 後 A1B1 D1E1 ア5 オ2 シ3 ア4 オ7 シ6 を A1B1 D1E1 ア5 ア4 シ3 シ6 オ7 オ2 とする方法もお願いいたします。 厚かましいことは承知の上ですがご指導のほどよろしくお願い申しあげます。

すると、全ての回答が全文表示されます。
  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

ネットくらい最低限検索してください 人に聴く前に自分で答えを探す これ社会人の最低限の常識です

参考URL:
http://www.geocities.jp/c4731625/sousa/Pg000074.htm
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

あまり難しくならないように簡単なやり方で説明しますので,少し勉強してみてください。 >前半 C1に =SUMPRODUCT(--(A$1:A$4&""<A1&""))+SUMPRODUCT(--(A$1:A1=A1)) と作成してコピー,C1からD4に貼り付けます。 E1に ==INDEX(A:A,MATCH(ROW(A1),C:C,0)) と作成してコピー,E1:F4を選んで貼り付けます。 >後半 E1に =A1&B1 E2に =C1&D1 を作成して4行目までコピー,あとは前半と全く同じ問題になるので全く同じやり方で答えを得ます。 このやり方を更に詳しく理解したいときは,下記の参考リンクについても勉強してください。

参考URL:
http://pc.nikkeibp.co.jp/pc21/special/hr/
fasdsfa
質問者

お礼

ご丁寧にありがとうございました。 ただ私には少々難しかったので参考URLを元にできるように頑張ってみます。

すると、全ての回答が全文表示されます。

関連するQ&A