文字関数を使い
「やまだたろう」を逆の「うろただまや」に置き換える方法を教えてください。
LEN関数を使えばできるでしょうか?

A 回答 (2件)

EXCELの関数には文字列を逆転する機能を持ったものが


ありませんので、簡単には出来ません。

どうしても関数で、ということなら、作業用に2列使えば可能です。

A1セルに対象となる文字列があり、D列、E列を作業用に使うとして、

D2セルに
=IF(LEN($A$1)>ROW(D2)-2,MID($A$1,LEN($A$1)-ROW(D2)+2,1),"")

E2せるに
=E1&D2

と入力して、この式を文字列の文字数以上の数だけ、下にコピーして下さい。
これで、E列の最後の行にあるのが置き換えられた文字列です。

見てもらえばわかりますが、D列に逆順に1文字ずつとり出しています。E列はそれを単純につなげているだけです。

E列の部分を、
=CONCATENATE(D2,D3,D4,D5,D6,D7,D9,D10,D11)
とすれば、一つのセルで済みますが、
CONCATENATE関数は =CONCATENATE(D2:D11) というような使い方が出来ず、つないでいくセルを一つずつ記述しないといけないので、文字数が増えるとめんどくさいです。
    • good
    • 0

VBAならStrReverse(文字列)というのがあるので


ユーザー定義関数を作るのが楽だと思います。

Alt+F11 でVisualBasicEditorを呼び出して
標準モジュールを追加します。
Function STRRVS(moji As String)
STRRVS = StrReverse(moji)
End Function
と入力
セル上で
=STRRVS("やまだたろう")
とすればお望みのようになります。

ただ、マクロを有効にする必要がありますが...
    • good
    • 0

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


人気Q&Aランキング