激凹みから立ち直る方法

ちょっと暗号化みたいなことをしたいのですが;

セルを引数にすると、そのセル内の文字を最後の文字から逆順に表示するようなエクセルの機能とか、関数とかありますか?

A 回答 (4件)

こちら↓のユーザー定義関数のアドインを使うとか。


http://kiyopon.sakura.ne.jp/soft/kagami.htm

このようなことができるVBAのStrReverse関数を使うとか。
http://www.moug.net/tech/exvba/0140036.html
http://officetanaka.net/excel/vba/function/StrRe …
http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/fu …

これをユーザー定義関数として組み込むとか
http://www.excel.studio-kazu.jp/kw/2011020204054 …
http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vb …

Function StrRev(myStr As String) As String
StrRev = StrReverse(myStr)
End Function
    • good
    • 0
この回答へのお礼

Wow! 逆順にした文字を「鏡文字」と言うんですね。(文字単体は鏡文字にならないけど^^;)

まだ、試してはいませんが、取り敢えず御礼(おんれい)まで。

お礼日時:2012/02/13 21:00

試しにやってみると、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)
    • good
    • 0
この回答へのお礼

回答ありがとうございました。まさかこんなに色々アイデアをいただけるとは思っていませんでした。

けっこういるんですねエクセルマニアって^^

お礼日時:2012/02/13 23:09

添付図参照



セル 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
「文字を逆順に表示の関数?」の回答画像3
    • good
    • 0
この回答へのお礼

アイデアありがとうございました。お礼が遅れて申し訳ありませんでした。

それに、こんなに長い式を作ってくださって恐縮です。必要に応じ、コピペさせていただきます。m(__)m

お礼日時:2012/02/28 17:20

そういう関数はありません。


そういう結果が得られるように丁寧に計算をすることは出来ます。

マクロを使い,そういう計算をしてくれる自作関数(ユーザー定義関数)を作ってしまった方が,簡単はカンタンです。

手順:
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に結果が出ている。
    • good
    • 0
この回答へのお礼

丁寧な説明ありがとうございました。

やってみせて誰かに自慢したいような気分です^^;

お礼日時:2012/02/13 21:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!