- ベストアンサー
エクセルでかワードで、逆さま言葉を表示できますか
回文を作りたいと思っています。 たけやぶやけた のように、上から読んでも下から読んでも同じというものです。 例えば、エクセルのあるセルに たけやぶ と入力すると、1つ目の指定のセルには たけやぶやけた と表示され 2つ目の指定のセルには たけやぶぶやけた と表示されるようになればいいなと思います。 (奇数の文字の回文と偶数の文字の回文に対応させるため、作成結果は2種類表示させたほうが良いと思いました) フリーソフトで『回文ちゃん』というものがありますが、 http://www.vector.co.jp/soft/dl/winnt/amuse/se327191.html これと同じようなことがエクセルやワードでできないかなと 思いました。 できるでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
◆スマートではありませんが ★「たけやぶやけた」 =LEFT(A1,LEN(A1)-1)&MID($A1,5,1)&MID($A1,4,1)&MID($A1,3,1)&MID($A1,2,1)&MID($A1,1,1) ★「たけやぶぶやけた」 =A1&MID($A1,5,1)&MID($A1,4,1)&MID($A1,3,1)&MID($A1,2,1)&MID($A1,1,1)
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
単順に逆順の文字列を作るなら ユーザー関数で Function kaib1(a) s = "" For i = Len(a) To 1 Step -1 s = s & Mid(a, i, 1) Next i kaib = s End Function セルに=kaib1(A1) A1 には「たけやぶ」 B1セルに=kaib1(A1) で「ぶやけた」 ーーーー もうひとつの型は Function kaib2(a) s = "" For i = Len(a) - 1 To 1 Step -1 s = s & Mid(a, i, 1) Next i kaib2 = s End Function 式はC1に=kaib2(A1) で結果「やけた」 ーー A2 B2 C2 だんすが がすんだ すんだ ながさきやのどかな なかどのやきさがな かどのやきさがな (Wikiより) あまり発見には役立ちそうではないが。 関数でも文字数が多くなると式が複雑になるだけでMID関数で出来ると思うが。
お礼
ありがとうございました。 勉強になりました。
- hallo-2007
- ベストアンサー率41% (888/2115)
VBAについては、ご理解いただけるでしょうか。 新しい関数を作成します。 ツールバーのツール=>マクロ=>VBエディター で エディター開いて、挿入=>標準モジュール Function test1(st As String) test1 = st For i = Len(st) To 1 Step -1 test1 = test1 & Mid(st, i, 1) Next End Function Function test2(st As String) test2 = st For i = Len(st) - 1 To 1 Step -1 test2 = test2 & Mid(st, i, 1) Next End Function をコピィして閉じます。 A1セルに たけやぶ B1セルに =test1(A1) C1セルに =test2(A1) で試してみてください。
お礼
ありがとうございました。 勉強になりました。
お礼
ありがとうございました。 勉強になりました。