• ベストアンサー

エクセルでかワードで、逆さま言葉を表示できますか

回文を作りたいと思っています。 たけやぶやけた のように、上から読んでも下から読んでも同じというものです。 例えば、エクセルのあるセルに たけやぶ と入力すると、1つ目の指定のセルには たけやぶやけた と表示され 2つ目の指定のセルには たけやぶぶやけた と表示されるようになればいいなと思います。 (奇数の文字の回文と偶数の文字の回文に対応させるため、作成結果は2種類表示させたほうが良いと思いました) フリーソフトで『回文ちゃん』というものがありますが、 http://www.vector.co.jp/soft/dl/winnt/amuse/se327191.html これと同じようなことがエクセルやワードでできないかなと 思いました。 できるでしょうか?

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆スマートではありませんが ★「たけやぶやけた」 =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)

pooh-03
質問者

お礼

ありがとうございました。 勉強になりました。

その他の回答 (2)

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

単順に逆順の文字列を作るなら ユーザー関数で 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関数で出来ると思うが。

pooh-03
質問者

お礼

ありがとうございました。 勉強になりました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

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) で試してみてください。

pooh-03
質問者

お礼

ありがとうございました。 勉強になりました。