• ベストアンサー

EXCELで文字列の並べかえ

こんにちは。EXCELの関数を教えてください。マクロは使用しない方法でお願いします。 行いたい内容は、セル内に入力した「1234567の文字列を7654321」や、「abcdをdcba」に並べかえることです。 つまり、EXCELのセル内に入力した文字列を逆から並べ替えたいのです。 お時間のある方、ぜひ教えてください。 よろしくお願いします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.6

   A   B C D E F G H   I 1 1234567 7 6 5 4 3 2 1 7654321 2 abcd   d c b a      dcba 3 ab    b a         ba B1: =MID(REPT(" ",7-LEN($A1))&$A1,7-COLUMN(A1)+1,1) I1: =TRIM(B1&C1&D1&E1&F1&G1&H1)

memememema
質問者

お礼

大変助かりました! 簡単に作成することができました。 ありがとうございました。

その他の回答 (5)

  • donperi
  • ベストアンサー率20% (6/29)
回答No.5

ANo.3です。 関数での質問でしたね。普通の並び替えと勘違いしていました。 ごめんなさい。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

(1)既製のエクセル関数単独1つや組み合わせてもこの件に関しては難しい(不可能とおもう) (2)(A)1文字桁ごとに文字列を分解し、(B)逆順に並べ替え、(C)再度まとめるとできるが、まとめるのも=CONCATENATE(A1:A8)のように範囲指定ができないので、セルを1つずつ書かねばならず、式が長くなる。 Bも余分に、列番号を振って逆順ソートをしないといけない。 Aはデーター区切り位置ースペースによって・・を選ぶ(ここがポイント)ー次ぎへー手動でマウスで文字ごとにクリックして、縦線を入れるー完了 (3)言語によるとReverse関数があるものあり。VBは使えないよう。 ただし同じようなもので、strReverseが使える。 下記は大きく言えば、VBAであるが、 ユーザー関数を作るのが良いと思う。 標準モジュールに Function revp(a) revp = StrReverse(a) End Function ーー か、または Function revp(a) s = "" For i = Len(a) To 1 Step -1 '桁数文だけ、後ろから(-1)繰り返し s = s & Mid(a, i, 1) '1文字づつ文字を連結 Next i revp = s End Function をつくり、シートでB1に =revp(A1)と入れて下方向に式を複写する。 例データと結果 A列   B列 asdfe efdsa おはようござい いざごうよはお 東京都千代田区 区田代千都京東 ーー >マクロは使用しない方法でお願いします その問題が関数向きでなかったり、難しい問題は、こんな条件をつけられると、回答者は難しいパズルを長時間かけて解くようなことになる。 質問者は関数で難しいかどうかわからないのでしょうが、「関数でできればお願いします」ぐらいの表現で質問してほしい。

  • donperi
  • ベストアンサー率20% (6/29)
回答No.3

まず、EXCELのツールバーを確認してください。通常、出てると思うのですが、確認として、「表示」→「ツールバー」→「標準」で、レ点をつけてください。はじめから付いていればキャンセルしてください。そうすると、上の真ん中の方(多分、ファイル(F)や編集(E)と書いてある下の段にあると思いますが)「AZ↓」や「ZA↓」と書いたマークが出てくると思います。それを使ってください。 並び替える条件として、同じ列であること(並び替えたいものは縦に並んでいること)が必要です。もし、並び替えたいものが横向きになっていたら、縦にしてください。 その後、並び替えたいところをマウスで選択し、選択した部分に「AZ↓」ボタンをクリックすると、並び替えが出来ます。ZA↓だと、逆方向に並び替えが出来ます。これは数字だけでなく、あ~ん、A~Zの並び替えも出来ます。一度やってみてください。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

何かの宿題のような質問ですので解き方のアドバイスです。 手順としては  ・セル内の文字を分解して一つずつ別のセルに格納  ・その後逆順に結合 ですね。 Excel2003までは最大255文字までセルに表示可能ですので、255文字分の格納用セルを用意すると良いかもしれません。 文字の長さの最大が決まっているなら、その数だけ用意すれば良いでしょう。 MID関数、ROW関数、COLUMNS関数 などを見ながら応用してください。

回答No.1

文字数が決まっていて、文字数がすくなければ関数でできますが 決まっていなければ関数では無理だと思います

関連するQ&A