• 締切済み

アンダーバーの後の文字を大文字に変えたい

エクセルの関数について質問です。 アンダーバー_の後の文字を大文字に変えて、 アンダーバー自体は消去したいのですが、作り方がわかりません たとえば、abc_def_ghiの場合ですとabcDefGhiのようなかんじです。 アンダーバーが何個出現するかは一定ではありません。 0個の場合もあります。 ご存知でしたらご教授ください。

みんなの回答

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

B1=REPLACE(SUBSTITUTE(PROPER(A1),"_",),1,1,LEFT(A1))

nivelung
質問者

お礼

できました! 早速のご回答ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

関数自体はたとえばPROPER関数の出番ですが, >アンダーバーが何個出現するかは一定ではありません。 という制約下では,エクセルの一般の計算式でやる仕事ではありません。 簡単なマクロを使って自作関数を用意してしまうか,若しくは関数で「綺麗に」計算するのは諦めて手を動かしてエクセルの機能を駆使して結果を出すか,どちらかになります。 手順: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける public function myProp(Target as excel.range) as variant  dim a  dim i  a = split(target.cells(1).value, "_")  myprop = a(0)  for i = 1 to ubound(a)   myprop = myprop & application.proper(a(i))  next i end function ファイルメニューから終了してエクセルに戻る A1セルに「abc_def_ghi」を記入 B1セルに =myprop(A1) と計算する。