• ベストアンサー

途中にある一文字を削除したい

zap35の回答

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

=IF(ISERROR(FIND("D",A1)),A1,REPLACE(A1,FIND("D",A1),1,"")) ではどうでしょうか?

skauranbo
質問者

お礼

回答ありがとうございます。 焦っていたので、わかりにくい質問で申し訳ありませんでした。 また、違う他の関数を使っての回答、これも勉強になります。ありがとうございました。

関連するQ&A

  • 英字を含まない文字行を削除

    英字を含まない文字行を削除 1491 1492 1493 1494 1495 1496 1497 1498 1499 149A 149B 149C 149D 149E 149F このような16進数が書かれたテキストファイルがあります。 149A 149B 149C 149D 149E 149F このように英字が含まれていない数字のみの行を削除する方法を教えてください。

  • Excel VBAにてSQLで文字列中の空白を削除

    投稿させていただきます。 MSDNのフォーラムの下記URLの質問にて有効な情報を得ることができませんでしたのでここでもお聞きします。 http://social.msdn.microsoft.com/Forums/ja-JP/vbajp/thread/f8d2eae8-8547-48f8-96e2-12e5e01dc294 ADOとMicrosoftJetOLE DB4.0プロバイダを使用して、自らのブックからワークシートへ接続しています。 SELECTするワークシート(テーブル)の1つのフィールドには文字列中に空白が含まれており、それを無視して、WHERE句の条件を適用させて、データ抽出をしようとしています。 Trim関数は左右の空白削除で、使えることはわかりました。 しかし、文字列間となるとREPLACE関数で置き換えてやるのが最善と考え、それを実行しましたが、「式に未定義関数Replaceがあります」とエラーがでます。 抽出結果には置き換え前のデータを表示させたいです。 REPLACE関数に限らず、何か良い方法はありませんでしょうか。 環境はWindows 7 Excel2003です。 よろしくお願いします。

  • 文字を削除して合計 Excel2007

    Excelで数字を含む文字列から数字のみを取り出し、合計する方法を考えているのですが、わかりません。  |..A..|..B..|..C.|..D.| .2|50%|30%|20%|10%| という風にセルに記入している場合、E2に全体としての割合を表す関数を作りたいと思っています。 とりあえず各セルから%を除いて数字のみを表示する関数を作りました。 =LEFT(A2,LEN(A2)-1) 例はデータが少ないのですが、実際は多数のデータを使うつもりなので、全ての値を足すのでなく、 指定した範囲内の値を合計するようにしたいと思っています。 作業列を使えばできるかもしれませんが、使わない方向でやりたいので、宜しくお願いします。 ちなみに、各割合は、別のシートから=で値を入力しています。

  • エクセルで文字を数値に変換したい!

    現在、1セルに1文字(あ~ん)が入っている表があるのですが、この文字たちを数字に変換したいのですが、どんな関数を使えばいいのでしょうか?   A B  C D E  1 エ ン ブ レ ム  → 4 5 3 4 3 2 リ フ ト       → 2 3 5 といった具合にあ行 1 い行 2 ウ行 3 エ行 4 お行 5 なのです。 ただし、「ん」だけ前に文字の次の行、前の文字がオ行の場合、1に戻るなのですが。 よろしくお願いします。

  • 文字間の空白の削除を教えてください。

    全角文字の文字間にある空白を削除したいです。 山 田 太 郎 → 山田太郎 下記のとおり置き換えようとしてもダメでした。 select replace('山 田 太 郎',' ','') from user_master; 左空白削除(ltrim() 関数)、右空白削除(rtrim() 関数)、左右空白削除(trim() 関数)などは、ありますが。。。 文字間の空白削除は、どうすれば良いのですか?

  • 英字の大文字小文字および混在の扱い

    早速ですが、 現在、指定された単語を含む文字列を抜き出す様なcgiを作っています。 現在のコーディングです。 foreach $line (@lines) { $an = index $line,$skey; if ($an >= 0) { 上記では、 $skey と全く同じモノしか検索(抽出)出来ないため、 今回、$skey が英字の時は、大文字、小文字、およびその混在でも 抜き出せるように改善したいと思っています。 例えば、abc と指定されたら、abcでもABCでもAbcでも抜き出せるような。 (英字と数字の混在や、全角は対象外で構いません。) 考え方として、 指定されたキー(文字列)を基に大文字、小文字を作り、 (uc関数、lc関数) 両方で検索してやれば殆どokと思うのですが、 混在の場合はどうやればいいか思いつきません。 また、 そもそも指定されたキーが英字であるかの判断方法が分かりません。 (大文字、小文字の変換は英字に限りますので) ということで、 (1)大文字、小文字の混在時の対応方法 (2)指定されたキーが英字であるかの判断方法 を教えていただきたくお願いします。

    • ベストアンサー
    • Perl
  • EXCEL VBA 記号の削除

    A列3行目からはじまる(A列2行目タイトル=FA)データより"!"や"#"などの記号を取り除いた ものをE列に表したいと思っています。 データを半角にして、ASC関数を使って記号を取り除こうとしたのですが、半角になるだけで 記号を取り除くことができません。 If の後、ASC関数は使用せず、"!"や"#"を指定しても結果が同じだったんですが REPLACEの使い方が間違っているのでしょうか? Dim セル As Range Dim TARGET As Range Dim 変換文字 As String Dim i As Long Dim W As Worksheet Set W = Sheets("DATA転記") Set TARGET = W.Range("A3", Range("A65536").End(xlUp)) For Each セル In TARGET 変換文字 = StrConv(セル.Text, vbNarrow) For i = 1 To Len(変換文字) If Asc(変換文字) >= 32 And Asc(変換文字) <= 47 And _ Asc(変換文字) >= 58 And Asc(変換文字) <= 64 And _ Asc(変換文字) >= 91 And Asc(変換文字) <= 96 And _ Asc(変換文字) >= 123 And Asc(変換文字) <= 126 Then _ 変換文字 = WorksheetFunction.Replace(変換文字, i, 1, "") End If Next i セル.Cells(, 5).Value = StrConv(セル.Text, vbWide) Next セル

  • Excelで空白行を削除したい

    2500行位使用しているシートのなかに、どのセルも空白になっている不要な行が300行くらい混ざっています。 この行を自動的に削除するにはどうすれば良いでしょうか。 ただ、その行のA~Eセルは空白でもFセルに値が入っているなど完全に空白でない行は削除できません。 メニュー、関数、VBAなど有れば教えてください。

  • エクセル関数を使わないで特定の文字より右を消したい

    あるサイトより大量のデータをコピペすると 「●月●日 ●時●分」となります。 当方は日にちのみ必要なので時間の部分が必要ないので 削除したいのですが 例えば、2月21日 23時 7分を 置換で 検索する文字列に 日* と入力して 置換後の文字列を空白にすると 2月21 になってしまい必要な「日」までもが消えてしまいます。 マクロを組んで一気に消したいので LEN関数やREPLACEなど使わずに消す方法はありますか? 又、関数を使っても簡単にマクロを組める方法があれば教えていただけたらと 思います。 どうぞよろしくお願いします。

  • 削除される行と、されない行があります

    VBAで、もしD列とE列が同じ数字ならその行を削除、 という式を作りました。なお、D列が0より大きいときに その式を適用するようにしました。 なぜか、D列とE鉄が同じ場合は、きちんと削除されるのに、 ある行だけ削除されません。 理由がわかりませんでした。 どのようなことが考えられますか。 D列もE列も半角で数字が入っていました。