dポイントプレゼントキャンペーン実施中!

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

ご存知でしたらご教授ください。

A 回答 (2件)

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

    • good
    • 2
この回答へのお礼

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

お礼日時:2012/07/05 13:11

関数自体はたとえば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) と計算する。
    • good
    • 0

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