Excel 2003で、セルの表示設定でユーザー定義を設定して表示された文字を、セルの値として扱う事はできないのでしょうか。たとえば、ユーザー定義 @"さん" として、入力した文字列にすべて「さん」づけするとします。ここに「橋本」と入力すれば「橋本さん」と出てきますが、セルの値は「橋本」のままですよね。しかしなんとかして、「橋本さん」を値として扱う事はできないのでしょうか? 数百というセルを入力してしまったため手入力での修正は非常に面倒ですし、置換の方法も思いつきません。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/02/10 11:15:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:knight_apple No.5

回答回数98ベストアンサー獲得回数11

ポイント20pt

まずユーザ定義を全て標準に戻し、"さん"を無くします。

A列にデータが入ってるとしたら

B列に「=A1&"さん"」と入力してB列のデータをA列に値貼付け

B列を削除すると置き換えが出来ます。

 

もし「橋本」ではなく「橋本さん」と入力されているセルがあると

「橋本さんさん」となってしまうので"さん"をSUBSTITUTE関数かCtrl+Hで置換えて下さい。

その他の回答4件)

id:BdashANDdead No.1

回答回数45ベストアンサー獲得回数5

ポイント20pt

全てのセルをコピーして、右クリック、形式を選択して貼り付け→値

でいかないのでしょうか?

http://www.dougamanual.com/blog/5/178/index.html

id:minorito0411

すいません、その方法はもう試してみたのですが、うまくいきませんでした。やはりセルの中身が元のままです。

2010/02/03 11:49:50
id:HALSPECIAL No.2

回答回数407ベストアンサー獲得回数86

ポイント20pt

置換方法としては、

[形式を選択して貼付]-[値]で同じセルに貼りつけると良いです。


http://pc.nikkeibp.co.jp/pc21/tech/excel43/13/

id:minorito0411

すいません、その方法はもう試してみたのですが、うまくいきませんでした。やはりセルの中身が元のままです。

2010/02/03 11:49:51
id:SALINGER No.3

回答回数3454ベストアンサー獲得回数969

ポイント20pt

セルから表示形式が適用された値を取り出す関数が思いつきませんでした。

VBAなら簡単にできるのにと思ったので、ならばユーザー定義で作ってしまえということで。


こんな関数を標準モジュールにコピペしてください。

Function SONOMAMA(r As Range) As String
    SONOMAMA = r.Text
End Function

使うときは、対象セルを引数にすれば、表示されたそのままの値を取得できます。

=SONOMAMA(A1)

数式ではなく値だけが欲しい場合は、更に上記の数式のセルをコピーして形式を選択して貼り付け→値でいいです。

直接取り出す関数がある場合は蛇足なので無視してください。

id:gotovip No.4

回答回数118ベストアンサー獲得回数26

ポイント20pt

このマクロを動かしてみてください

2007ですがテスト済みです

Sub test()

Dim c As Range

Dim karistr As String

For Each c In ActiveSheet.UsedRange

karistr = c.Text

c.NumberFormatLocal = "G/標準"

c.Value = karistr

Next c

End Sub

ここを参考にさせていただきました

id:knight_apple No.5

回答回数98ベストアンサー獲得回数11ここでベストアンサー

ポイント20pt

まずユーザ定義を全て標準に戻し、"さん"を無くします。

A列にデータが入ってるとしたら

B列に「=A1&"さん"」と入力してB列のデータをA列に値貼付け

B列を削除すると置き換えが出来ます。

 

もし「橋本」ではなく「橋本さん」と入力されているセルがあると

「橋本さんさん」となってしまうので"さん"をSUBSTITUTE関数かCtrl+Hで置換えて下さい。

  • id:SALINGER
    関数やマクロを使わない方法として、一回CSVで保存して、再度Excelで開くという方法があるか。
  • id:ken3memo
    1.Excelの問題の列を選択してコピーします。
    2.メモ帳に素直に貼り付けます。
    3.列の書式を変えます(標準にしたり),ついでにクリアします。
    4.メモ帳からctrl+a,Ctrl+Cなどでコピーします。
    5.Excelの問題の列に貼り付けます。
    で、できると思いますが。
    (OS:XP Excel2003とメモ帳でテストしました。)
  • id:minorito0411
    minorito0411 2010/03/04 13:52:10
    お礼が遅れまして申し訳ありません。
    どの回答も非常に役に立ちました。ありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません