• ベストアンサー

文字を逆順に表示の関数?

ちょっと暗号化みたいなことをしたいのですが; セルを引数にすると、そのセル内の文字を最後の文字から逆順に表示するようなエクセルの機能とか、関数とかありますか?

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

  • ベストアンサー
回答No.1

こちら↓のユーザー定義関数のアドインを使うとか。 http://kiyopon.sakura.ne.jp/soft/kagami.htm このようなことができるVBAのStrReverse関数を使うとか。 http://www.moug.net/tech/exvba/0140036.html http://officetanaka.net/excel/vba/function/StrReverse.htm http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/function/vba_string2.html#strreverse これをユーザー定義関数として組み込むとか http://www.excel.studio-kazu.jp/kw/20110202040548.html http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_user_kansu.html Function StrRev(myStr As String) As String StrRev = StrReverse(myStr) End Function

e-toshi54
質問者

お礼

Wow! 逆順にした文字を「鏡文字」と言うんですね。(文字単体は鏡文字にならないけど^^;) まだ、試してはいませんが、取り敢えず御礼(おんれい)まで。

その他の回答 (3)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.4

試しにやってみると、MID関数は文字列長以上を設定しても空白を返すだけで、エラーにならない事を発見しました。20文字まで対応です。もっと長くしたければ、エクセルの仕様内で足して下さい。 A1に変換前の文字列を入れるとします。xl2010で試しています。 =MID(A1,20,1)&MID(A1,19,1)&MID(A1,18,1)&MID(A1,17,1)&MID(A1,16,1)&MID(A1,15,1)&MID(A1,14,1)&MID(A1,13,1)&MID(A1,12,1)&MID(A1,11,1)&MID(A1,10,1)&MID(A1,9,1)&MID(A1,8,1)&MID(A1,7,1)&MID(A1,6,1)&MID(A1,5,1)&MID(A1,4,1)&MID(A1,3,1)&MID(A1,2,1)&MID(A1,1,1)

e-toshi54
質問者

お礼

回答ありがとうございました。まさかこんなに色々アイデアをいただけるとは思っていませんでした。 けっこういるんですねエクセルマニアって^^

noname#204879
noname#204879
回答No.3

添付図参照 セル C1 に次式を入力して、此れを右方へズズーッとドラッグ&ペースト   =IF(LEN($A1)<COLUMN(A1),"",MID($A1,LEN($A1)+1-COLUMN(A1),1)) セル B1 に次式を入力   =C1&D1&E1&F1&G1&H1&I1&J1&K1&L1&M1&N1&O1&P1&Q1&R1&S1&T1&U1&V1&W1&X1&Y1&Z1&AA1&AB1&AC1&AD1&AE1&AF1&AG1&AH1&AI1&AJ1&AK1&AL1&AM1&AN1&AO1&AP1&AQ1&AR1&AS1&AT1&AU1&AV1&AW1&AX1&AY1&AZ1&BA1&BB1&BC1&BD1&BE1&BF1&BG1&BH1&BI1&BJ1&BK1&BL1&BM1&BN1&BO1&BP1&BQ1&BR1&BS1&BT1&BU1&BV1&BW1&BX1&BY1&BZ1&CA1&CB1&CC1&CD1&CE1&CF1&CG1&CH1&CI1&CJ1&CK1&CL1&CM1&CN1&CO1&CP1&CQ1&CR1&CS1&CT1&CU1&CV1&CW1&CX1&CY1&CZ1

e-toshi54
質問者

お礼

アイデアありがとうございました。お礼が遅れて申し訳ありませんでした。 それに、こんなに長い式を作ってくださって恐縮です。必要に応じ、コピペさせていただきます。m(__)m

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

そういう関数はありません。 そういう結果が得られるように丁寧に計算をすることは出来ます。 マクロを使い,そういう計算をしてくれる自作関数(ユーザー定義関数)を作ってしまった方が,簡単はカンタンです。 手順: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける function reverse(a)  dim i  for i = len(a) to 1 step -1  reverse = reverse & mid(a, i, 1)  next i end function ファイルメニューから終了してエクセルに戻る てきとーなセル(仮にA1)に言葉を記入し =reverse(A1) と計算する。 手順: A1に言葉を記入する B1に =MID($A$1,ROW(B1),1) と記入し,下向けに沢山コピーしておく C1に =C2&B1 と記入し,下向けに沢山コピーしておく。 C1に結果が出ている。

e-toshi54
質問者

お礼

丁寧な説明ありがとうございました。 やってみせて誰かに自慢したいような気分です^^;

関連するQ&A

専門家に質問してみよう