• ベストアンサー

excel  逆字引を作る準備

Excelの半角からなる文字列がA1からA10まであります。 これに対して新たにB1からB10を次のように作るものとします。 A1の文字列を逆にしたものをB1とする。以下同様 具体的にはA1が12345ならB1は54321です。 この操作を記述する方法のヒントをください。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

#1のmshr1962です。 ユーザー定義関数のサンプル Function STRVS(MOJI) Dim ML,MC As Integer ML = Len(MOJI) For MC = ML To 1 Step -1 STRVS = STRVS & Mid(MOJI, MC, 1) Next MC End Function 上記をユーザー定義関数としてモジュールに登録すれば =STRVS(A1) で並びが逆になります。

campus9
質問者

お礼

おかげで解決。 どうもありがとうございました。 CSV形式のメールアドレス一覧など整理できるかな。

その他の回答 (2)

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

桁数が少数なら、ワーク列を使いますが、 データ-区切り位置-スペース・・・-次へ-1桁ごとに ↑を1桁づつ、桁の間に入れる。 これで a b c d e w e r s d f g のようになる。 =CONCATENATE(E3,D3,C3,B3,A3) 下に複写する。 (結果) edcba rew gfds

campus9
質問者

お礼

データ操作が入ることが難点ですし、題意には合わないとおもいましたが。でもとても参考になりました。 ありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

逆にするならMID関数で入れ替えになりますが... 文字数が一定でないと難しいと思います。 =MID(A1,5,1)&MID(A1,4,1)&MID(A1,3,1)&MID(A1,2,1)&MID(A1,1,1) マクロかユーザー定義関数を作った方がいいと思いますが...

campus9
質問者

お礼

>文字数が一定でないと難しいと思います。 そうですよね。 式で書くしか普通はできないですね。すると2番さんのやり方ですよね。 どうもありがとうございました。

関連するQ&A