• ベストアンサー

エクセルの文字で数種類の文字を変換出来る関数などの方法を教えて下さい。

エクセルのセル内の文字変換の関数など、方法を教えて下さい。 現状一つの列に対して、約12000行(12000件分)「500×500×500」などの立方体を表す入力をしているのですが。 この入力を複数の人間で数年間かけて行ったため、「×」(かける)の表記が色々となってしまっており、これを1種類の表記にまとめたいのですが。 現状のこの「×」(かける)表記が確認出来ているだけで、 「*」(アスタリスク) 「X」(エックス大文字半角) 「X」(エックス大文字全角) 「x・x」(エックス小文字全角・半角) 「X・ⅹ」(ローマ数字10表記2種) 「χ」(記号?不明) などが使用されております。 中には「500*500×500」という一つの表記の中に2種類使用してしまっている場合もあります。 今回これらを一つの表記方法で、統一したく皆様にお願いさせていただきます。 エクセルレベルの高くない者ですが、何卒宜しくお願い致します。

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

  • ベストアンサー
noname#79209
noname#79209
回答No.4

もし、そのセルが 「数字」と「入力したひとによって違いはあるものの『かけ算記号』」だけで構成されているなら、 以下のような「正規表現による検索・置換」アドインを使って 検索文字列:「\D」...数字以外の文字(\dは数字を表すので注意) 置換文字列:「×」...全角のかけ算文字に置き換えたい場合 とすれば数字以外の文字を一度に「×」へ置き換えることができます。 http://srcedit.pekori.jp/tool/excelre.html ご参考まで...

seiho9wai
質問者

お礼

ありがとうございました。この方法で出来ました。

その他の回答 (7)

noname#52504
noname#52504
回答No.8

ん? ご質問の趣旨を取り違えていましたらすみません。 【「500×500×500」などの立方体を表す】文字列について、 【「×」(かける)の表記が色々となって】いるので、 【1種類の表記にまとめたい】のですよね。 で、「×」(かける)の表記にどんな文字が使われているか、 すべてを確認できているわけではないと。 ---------------------------------------- であれば、例えば元の文字列がA列に入力されているとして、 1.A列について、左からチェックして最初の、「数字でない文字」を「×」に置き換える  B1セル: =REPLACE(A1,MATCH(FALSE,INDEX(ISNUMBER(-LEFT(A1,ROW(INDIRECT("1:"&LEN(A1))))),),0),1,"×") 2.B列について、右からチェックして最初の、「数字でない文字」を「×」に置き換える  C1セル: =REPLACE(B1,LEN(B1)+1-MATCH(FALSE,INDEX(ISNUMBER(-RIGHT(B1,ROW(INDIRECT("1:"&LEN(B1))))),),0),1,"×") として下方にフィルすれば片付くように思います。 ※一文字ずつではなく文字列を取り出してチェックしているのは、  小数表示や、記号の前後に無駄なスペースがある場合に対応するためです。 例  A1:「500.4▲500.5◆500.7」  ↓  B1:「500.4×500.5◆500.7」  ↓  C1:「500.4×500.5×500.7」 Excel2003で動作確認済。 ---------------------------------------- あるいは、下記のような方法で3つの数値をいったん取り出してから、 「×」を挟んで繋ぎ直しても良いかもしれません。 ■エクセルで数字とアルファベットと文字列を分割する方法 http://oshiete1.goo.ne.jp/qa3751652.html 以上ご参考まで。

seiho9wai
質問者

お礼

URL参考にさせていただきました。ありがとうございました。

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

検索・置換は複数セル範囲に対して操作できるので早いです。 (1文字の文字集合)-->1文字 は置換で出来ませんから、置換変換前文字1文字ーー>特定1文字 を文字数だけ繰り返すよりほかない。 見かけ上上記Aが出来るようプログラムも組めますが VBAや正規表現など概念やスキルの習得もすぐには難しく、エクセルの通常の操作をなぜしないのですか。 何か良い方法と思うのですか。 しかし多寡が10回程度でしょう。質問に書き込む間に終る。 何かそれではうまく行かない理由がありますか。

seiho9wai
質問者

お礼

そうですね。すみませんでした。ありがとうございます。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんばんは。 総当たり制の置換の方法をマクロに置き換えました。 標準モジュールへの取り付け方: Alt +  F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。 次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、以下のコードを貼り付けて、 Alt + Q で、画面を閉じます。 後は、Alt + F8 で、「Replacing_X」を実行してみてください。ただし、余計なものまで置換をするとも限りませんので、実行する前には、保存するかバックアップを取ってください。予測付かないことがあるのは、日本語版Excelは、独自の非公開の曖昧検索文字が入っている可能性があるからです。こちらで試した範囲の中では、成功しています。 また、単独の英字でも、これは置換してしまいますので、その場合は、検索コマンドと正規表現を組み合わせた置換をしなくてはならない可能性があります。例えば、数字*数字のような文字パターンにのみヒットするような方法は、別の方法が必要です。 '------------------------------------ Sub Replacing_X()   Dim args As Variant   Dim arg As Variant   '検索文字を、,"x" と、入れます。   args = Array("~*", "X", "X", "x", "x", "ⅹ", "χ")   Application.ScreenUpdating = False   With ActiveSheet.UsedRange     For Each arg In args       .Replace arg, "×", xlPart, , True, True     Next arg   End With   Application.ScreenUpdating = True End Sub '------------------------------------- なお、何万個のセルをひとつずつ、総当たりする場合は、オブジェクトとして取り扱ったほうが速いと思います。 なお、不必要になりましたら、マクロの登録した「標準モジュール」自体を、プロジェクト・エクスプローラから、右クリックで解放してして、削除してしまってください。後は、何も残りません。

seiho9wai
質問者

お礼

ありがとうございました。でも私のレベルでは少し高度だったので・・・。回答に感謝です。

noname#79209
noname#79209
回答No.5

#4です。 > 「500×500×500」などの立方体を表す まさか、この数字も全角と半角が混じっていませんか? もしそうなら、先の回答の「¥D」は全角の数字も含まれてしまうので、 「[^\d0-9]」....半角と全角の数字以外 としてください。 また、もし「××」となってしまったら 検索文字列:「[^\d0-9]+」 としてください。

seiho9wai
質問者

お礼

ありがとうございました。

noname#138769
noname#138769
回答No.3

文字列置換の関数はREPLACE関数やSUBSTITUTE関数などが思いつきますが 置換対象が複数ありますし、結構複雑な式になりそうです。 この程度の対象ならば、普通に『編集』⇒『置換』のほうが早いかと…。 的確な回答でなくてすいません。

seiho9wai
質問者

お礼

やはり簡単ですよね。ありがとうごうざます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

安直ですが、編集→置換を文字パターン繰り返す方法は駄目でしょうか。 因みに*(アスタリスク)はワイルドカードの為、検索文字列を~*(チルダ・アスタリスク)として下さい。 又、置換オプションで半角・全角区別なしの選択で作業回数が減ると思います。

seiho9wai
質問者

お礼

やはりそうですすね。*(アスタリスク)すら知りませんでした。ありがとうございます。

  • suz83238
  • ベストアンサー率30% (197/656)
回答No.1

結局、「編集」→「置換」で行うしかないです。それぞれ「*」を「×」とか一個一個するしかないです。

seiho9wai
質問者

お礼

やはりこれが一番ですかね。ありがとうございます。

関連するQ&A

  • Excel の計算式(関数)結果を文字列への変換方法

    Excel2000を使用していて、OSはWindows2000professionalです。 エクセルで計算(関数)を使用すると、結果は当然数字・・・半角で表記されますが、これを文字列・・・全角に変換する方法はありますか? 計算結果の数字を差込印刷をかけるんで、半角(数字)だと印刷結果の体裁が悪いので、なんとかしたのです。やはり、手入力で打ち直すしか方法はないのでしょうか? 「置換」でもやってみたんですが、うまくいきませんでした。 パソコン初心者で、参考書もない状況です。 アドバイスお願いします。もし、こんなことができないのなら、できないとの回答でも結構です。よろしくお願いします。

  • エクセル2003でセル内の文字のうち、半角カナ文字だけを全角かなに変換

    エクセル2003でセル内の文字のうち、半角カナ文字だけを全角かなに変換する方法 数字や英文字は半角のまま残して、読みにくい半角カナだけを全角かなに変える方法はあるでしょうか? JIS()ですと、すべての文字が全角に変わってしまいます。 詳しい方、どうかよろしくお願い致します。

  • EXCEL 「ASC」関数  英数字の全角を半角に変換するよい方法があれば教えてください

    EXCELで入力しているデータをフィルターを使用して検索できる データベースにしたいのですが、以前からの入力しているデータの英数字が全角、半角が混在していてます。 フィルター検索の際に全角で入力すると半角入力のものがヒットしないので不便で、英数字の半角統一にしたいと考えています。 ASC関数を使用して英数字の全角→半角を行なうこと考えたのですが ASC関数ですとカタカタも半角カタカナに変換されるので 英数字だけを全角→半角にする関数や方法などあれば教えてください。 入力データは 漢字、ひらがな、カタカナ、英数字が混在しています。 希望 全角→漢字、ひらがな、カタカナ 半角→英数字 宜しくお願い致します。

  • エクセルで文字数制限まで空白を入れる関数

    仕事にて、エクセルを使用しています。 とあるシステムにて、エクセルで入力した文字を読み込ませないといけないのですが 文字数が1つのセルにつき全角15文字(半角30文字)と決まっています。 例えば、【たこ焼き】という文字を入れたい場合、空白文字+たこ焼き=合計15文字にしたい場合、空白文字を合わせて全角15文字にできる方法を関数等使って できないでしょうか?数百件あるので、なんとかできる方法があれば、ご教授いただけたらと思います。

  • 文字変換が変です。

    ローマ字入力でひらがなは出ます。 それを漢字に変換はできるのでこのような文章は打てるのですが 半角/全角を押すと‘ が出ます。 また半角/全角を押してもタスクバーがアルファベットに切り替わらず あ の表記のままです。 緑のAltを押しながら半角/全角を押すとタスクバーの表記は Aになります。 タスクバーが あ になっている時に =の印のあるところを押すとーが出ます。 その横のへを押すと=になってしまいます。 どうしてこうなったのかわからないのですが もとのような入力の仕様に戻すには どのようにしたらよろしいでしょうか? ローマ字入力の際、今まで小文字で入っていたのが 大文字入力にもなっています。 よろしくお願いいたします。 わかりにくくてすみません。

  • エクセルの使い方(関数?)

    エクセルで A列は半角 B列は文字 を入力するとき、わざわざ「半角/全角」キーを 押さなければいけませんが これを押さずに(言語バーは触らず) 入力できる方法はありませんか? 確か関数であった気がしますが。。 ちなみに、一括変換ではないです。 A列は半角・B列は全角と設定できませんか?

  • エクセルの検索関数

     エクセルのVlookup関数は半角全角はもちろん、全く同じ文字列でないと値を返しませんが、検索機能の*「アスタリスク」のようにワイルドカード機能を持たせて、一部でも一致すれば値を返すようにはならないでしょうか?または他に良い関数、方法はないでしょうか?  ある2つの表を照合しているのですが、大変行数が多く書き方がバラバラで困っています。一つのセルにかっこ()で注釈が入っていたり、点やスラッシュが入っていたりもします。  宜しくお願い致します。

  • エクセルで半角文字をシートごと一括で変換したいのです

    エクセルで全角で入れなければいけない文字(カタカナ・数字・英字)を全て半角で入力してしまいました。一括で全て全角にすることはできますか?一括でなくても簡単に直す方法があれば教えてください。よろしくおねがいします

  • エクセルで大文字

    エクセルで表を作る時、項目を大文字や小文字で統一しないと後で統合やピボットテーブルを作る時に面倒くさくなると思うんです。 表を作る時、入力の時に全角や半角に統一する方法はありますか。 後、全角に統一したのに半角で入力してしまった所を見つけて訂正する方法はありますか。

  • 半角文字の一括変換

    EXCELで半角入力されている文字を一括で全角に変換したり、逆に全角を半角に一括変換する方法はありますか? 何か手頃なフリーソフトなどご存知ありませんか?

専門家に質問してみよう