• ベストアンサー

備考欄の数字の効率的な削除方法

添付のようなエクセル資料で、月次の予算と実績を作成しております。 備考欄の予算の数量と実績の数量を一発で削除する方法はございますか? もしくは片方(予算 or 実績)を一発で削除する方法はないでしょうか? このようなエクセル資料を使用している事自体が時代遅れなのかもしれないですが、 解決策があればご教示お願いします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.4

No.3の追加です。 マクロを実行する前にブックのコピーはとっておいてください。 また、データが しょうゆ ラーメン 100杯 → 200杯 のように商品名の間にスペースや→の前後にスペースがあった場合、No.3だと誤動作しますので以下のコードで実行してください。 一度で削除できなかった場合は、再度実行すると右から順に削除されていきます。 ただし、左側の「100杯」で「100 杯」のように数値と杯の間にスペースがあると100は残ります。 Sub Test() Dim bool As Boolean Dim mRng As Range, num As Long, i As Long Dim tmp As Variant, buf As Variant With Sheets("Sheet1") 'F8からF列のデータのある一番下の行までが対象 For Each mRng In .Range(.Cells(8, "F"), .Cells(Rows.Count, "F").End(xlUp)) buf = "" tmp = Split(mRng, vbLf) For i = 0 To UBound(tmp) num = InStrRev(StrConv(tmp(i), vbNarrow), " ") If InStr(tmp(i), "杯") > 0 Then 'セル内の各行に杯が含まれていれば右端の半角(全角)スペースから最後までを削除 buf = buf & Trim(WorksheetFunction.Replace(tmp(i), num + 1, Len(tmp(i)) - num, "")) & vbLf Else buf = buf & tmp(i) & vbLf End If Next If buf <> "" Then mRng.Value = Left(buf, Len(buf) - 1) End If Next End With End Sub

その他の回答 (3)

  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.3

F列8行目以降のそれぞれのセルで 100杯→200杯 などとなっている部分を削除すればいいのだとしたら マクロ(VBA)でよろしければ 実行の方法は以下のサイト Excel VBA 入門講座 Visual Basic Editorの起動Visual Basic Editorの起動 https://excelvba.pc-users.net/fol1/1_1.html と次ページの コードの入力と実行コードの入力と実行 https://excelvba.pc-users.net/fol1/1_2.html を参考にして、以下のマクロ(VBA)を実行してください。 Sub Test() Dim bool As Boolean Dim mRng As Range With Sheets("Sheet1") 'Sheet1は実際のシート名に変更してください 'F8からF列のデータのある一番下の行までが対象 質問の画像の場合だと10行まで For Each mRng In .Range(.Cells(8, "F"), .Cells(Rows.Count, "F").End(xlUp)) '→と杯に挟まれた部分を削除 bool = mRng.Replace("→*杯", "", LookAt:=xlPart, MatchByte:=False) '半角(全角)スペースと杯に挟まれた部分を削除 bool = mRng.Replace(" *杯", "", LookAt:=xlPart, MatchByte:=False) '半角(全角)スペースを削除 bool = mRng.Replace(" ", "", LookAt:=xlPart, MatchByte:=False) Next End With End Sub

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

こういうデータの持ち方は、モダンExcelでは禁じ手のようです。 また手操作の置換でやろうとしても、「何杯→何杯」の部分を掴むのは難しい。 正規表現の達者なら、あるいは可能かと想像するが。 元データのF列の改行は、セル内改行CHR(10)を使っているとした。 ーー 質問者は、VBAもできないのかも、しれないので無駄かもしれないが、個人的な興味でやってみた。 余りこういう文字単位の加工は、プロなどは、やらないでしょう。 ーー 質問例と違うが、質問のデータ列をB列にし、変換後データをC列に出す。 例データ B1:B3 3セル (注) 下記は 1セルデータが、”と"でくくられているが、セルをコピー貼り付けしたもので、”と”は、シート上で見えるものではない "しょうゆラーメン 100杯→200杯 しおラーメン  50杯→50杯 味噌ラーメン  100杯→100杯" "しょうゆラーメン 200杯→100杯 しおラーメン   50杯→50杯" "しょうゆラーメン 100杯→200杯 しおラーメン  100杯→50杯 味噌ラーメン  100杯→50杯" ーーーー 標準モジュールに Sub test01() Dim y, z As Variant For i = 1 To 3 x = Cells(i, "B") y = Split(x, Chr(10)) ss = "" For k = 0 To UBound(y) MsgBox y(k) '---- s = y(k) z = Split(s, " ") For l = 0 To UBound(z) MsgBox z(l) p = InStr(z(l), "杯") If z(l) <> "" And p = 0 Then ss = ss & z(l) & Chr(10) End If Next l Next k Cells(i, "c") = ss Next i End Sub ーーーーー 結果 C1:C3 "しょうゆラーメン しおラーメン 味噌ラーメン " "しょうゆラーメン しおラーメン " "しょうゆラーメン しおラーメン 味噌ラーメン " セルの空白部分が何文字の半角空白か、全角の空白か、小生には、見た目では、判らない。その点の認識相違で上記はうまく行かない恐れはある。

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.1

添付図参照(Excel 2019) [検索と置換]⇒[置換](Ctrl+H)を利用すれば、結果を示す添付図の何れも比較的簡単にできますが、何れがお好みですか?

関連するQ&A

  • 予算実績の取りまとめについて

    予算/実績等の管理方法を探しています。 現在エクセルで過去10年程の収支・加工費・数量・単価を事業部別/顧客別/製品別に データベースとしてまとめてあります。 まとめる項目は年度予算・半期見込み・月次予算・月次実績・週見込み等です。 そこからの数字を参照にして別ファイルで様々な資料やグラフ等を作っています。 グラフは、データベースを入力すればすべて更新されるようになっています。 ですがエクセル2000の為、データ要領やセル数の関係で、 現在のフォーマットではあと1年分程しか使用することができなさそうです。 何か別方法でもっと良い管理方法がないかと思い、アクセスを勉強しているのですが、 まったくの素人でちんぷんかんぷんな上、そもそもアクセスで思っているような事が できるのかも良くわかりません。(調べていると在庫管理・伝票作成に多く使われるようで・・・?) アクセスでも、エクセルでやっていたような作業が簡単にできますか? また、他に良い方法はありますか?

  • エクセルのグラフについて質問です。

    エクセルのグラフについて質問です。 2軸上のグラフを作成したいのですが、同じ棒グラフで作成したいと考えています。 内容は、売上予算と実績の対比と、数量の予算と実績の対比です。 2軸にしたいのは、売上の金額単位と数量の金額単位が違いすぎるからですが、 売上予算と実績は1軸上の目盛りで。数量の予算と実績は2軸上の目盛りで。 予算と実績は隣りあわせで比較したいのです。 色々調べてみたのですが、うまい具合に表示できません。 売上の予算と実績が隣り合うと、予算は1軸、実績は2軸、、となってしまうし、 売上を1軸、数量を2軸にすると、予算と実績が隣り合いません。 なにかうまい方法は無いでしょうか。。

  • エクセルのセル内から数字だけを抽出する方法を教えて下さい

    エクセルのセル内から数字だけを抽出する方法を教えて下さい あるデータの列(備考欄)には様々な文字が入っていて、 その中に●名(●は数字)が入っています その数字だけを取り出して 別の列に移す関数を教えて下さい ※この列には他の数字は入っていません、最大で2ケタです よろしくお願いします

  • 予算をたてるときのアドバイスを。

    販売業の会社の経理に従事しています。 会社の月次予算を立てる担当になりました。 「月次資金計画・実績表」に、月初予定・月中予定(20日前後に作成します)・実績・差異の欄を設けて表を作っています。 この月初予定の予算をたてるとき、このうち、要とも言える、入金(受注)の項目についてです。 過去の資料を参考にするほか、作成時点での、営業部の動き(未入金だが予約済み、キャンセルになりそう、等)をふまえて予算を作成するような流れになっています。 3ヶ月やってみましたが、手順や理屈はなんとなくつかめたものの、どうもしっくりこないです。 実際に営業サイドに立ってないことや、慣れてないこともあるんでしょうが、 どこにポイントを置いて考えればよいのか、ピンと来ないのです。 会社によって様々かと思いますが、できるだけ多くの会社を例を参考にさせていただきたいと思いますので、 予算をたてるときの重要点や、オススメの対策がありましたら教えてください。 社長には「予算と言えども、かなり正確性の高い数字を」と言われ悩んでおります・・

  • エクセルの計算方法について

    予算と実績の集計表を作成中です。 一つのセルに月予算が1,000,000万と設定。 1月で実績を900,000万と入力すると →  別の欄に過不足が△100,000と自動で計算される 2月で実績を900,000万と入力すると →  別の欄に過不足が△200,000と自動で計算される 3月で実績を1,000,000と入力すると →  別の欄に過不足が△200,000と自動で計算される 予算は月予算しか組まれておらず、 1月を入力したら、月予算も1か月分と実績1か月分を比較したい。 2月を入力したら、月予算は2か月分と実績は1月と2月をたしたものと比較することはできないでしょうか?? なにかいい方法があれば教えてください。 よろしくお願いいたします。

  • エクセル 空白の削除について

    はじめまして 今エクセルで困っています 例えば A1に物の名前が入っており、B1に数が入ってるとします その場合、B1に数量が入ってれば、そのまま 数量のところが、空白ならば、その列を削除をするとういう 繰り返し処理をしたいのですが、できるのでしょうか? いい方法がありましたら教えてください お願いします

  • エクセルのショートカットメニュー欄のアドイン名の削除について

    この質問はYahooにも出していますが、エクセル(Excel 2003)のアドインについてですが、エクセルに同じアドイン名の登録と削除を何度か繰り返したため、エクセルのセル上で右クリックしたときに表示されるショートカットメニューの欄に同じアドイン名が複数個表示されるようになってしまいました(アドインのファイルを直接クリックしてしまったりしたことも原因かも)。アドインのファイルを削除してもこのショートカットメニューの欄のアドイン名が残ったままです。このショートカットメニューのアドイン名を完全に削除する方法はありませんか? また、Office Personal Edition 2003(OSはWinXP/Pro)を使用していますが、最後の手段として、Excelだけを削除することはできませんか? よろしくお願いします。

  • 子部品の実際の使用数量を求める方法

    お世話になります. Excel 上に,添付資料のような多段階の部品表が用意されています. 各列に, [階層の深さ][部品番号][使用数量][単位] が記入されています. 各行に入力されている[使用数量]は,親部品に対する使用数量です. ここで,各子部品の実際の使用数量を知るためには,親部品の使用数量と各子部品の使用数量とを掛け合わせて求めることになるのですが,それを自動処理する方法が思い付かず,お知恵を拝借いたしたく. よろしくお願いします.

  • facebook の削除

    不注意で漢字とロウマ字の二つ作ってしまいました。片方を削除したいのですがわかりません。また投稿欄に見覚えのないゲーム画面が多数投稿されています。こちらの削除方法も併せてお教えください。WI7使用です。

  • 予算計上月と実績発生月の月ズレ

    月次決算の報告資料を作る時、例えば予算は4月に組んでいるが、実績は5月に発生するような場合、皆様はどのようにしておられますでしょうか? 今は、何も調整せずに注釈で「実績は5月に発生予定」などと書いているのですが、月ズレが多くなると注釈だらけになってしまい、ややこしくなります。 普通は、予算を5月にズラしたり、管理会計上だけ実績を4月に前倒し計上したりするのでしょうか? 分かりやすく報告するために皆様のお知恵を拝借したいと思います。 よろしくお願いします。

専門家に質問してみよう