- ベストアンサー
エクセル2000で教えてほしいことがあります。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは 私もマクロで考えてみました。 ・アクティブシートの全セルに対して処理します。 ・末尾が「には」の文字列についてあたまに「・」をつけます。 ・「には」を含む文字列についてあたまに「・」をつけるという条件の場合には、下記マクロで "*には" となっているところを "*には*" に変えます。 ・数式は対象外です。 ・既に「・~円弧を作るには」などあたまに「・」がついている場合には、「・」を追加しません。 Sub Test2() Dim c As Range For Each c In ActiveSheet.UsedRange If Not (c.HasFormula) And c.Value Like "*には" _ And Left(c.Value, 1) <> "・" Then c.Value = "・" & c.Value End If Next End Sub
- 参考URL:
- http://www2.odn.ne.jp/excel/
その他の回答 (6)
- arata
- ベストアンサー率49% (139/279)
マクロを作ってみました。 結構無限ループにはまったりして楽しめました。 現在アクティブなシートの全てのセルに対して処理します。 Sub Test1() ' ' 「には」を含む行の先頭に「・」を付加するマクロ ' Dim rng As Range Dim rngFirst As Range Dim strStartAddress As String '現在アクティブなシートに対して最初の検索 Set rng = ActiveSheet.Cells.Find(What:="には", _ LookIn:=xlValues, _ lookat:=xlPart) If rng Is Nothing Then 'みつからなかったら終了 Else '見つかったら最初のアドレスを保存 strStartAddress = rng.Address '検索が一周して、最初のアドレスに戻ってきたら終了 Do '計算式が入っているところを修正してしまうとまずいので '計算式と値がいっしょのところの場合、修正 If rng.Value = rng.Formula Then rng.Value = "・" & rng.Value End If '次を検索 Set rng = ActiveSheet.Cells.Find(What:="には", _ after:=rng, LookIn:=xlValues, _ lookat:=xlPart) Loop Until rng.Address = strStartAddress End If End Sub 上記のプログラムは、見やすくするために行の先頭に全角のスペースを入れています(半角スペースだと、インデントがなくなってしまうため)ので、行の先頭の全角スペースを半角スペースに置き換えてから実行してください。
お礼
有難うございます。 とてもわかりやすく説明していただき感謝しております。 お礼が遅くなって申し訳ありませんでした。
- kbonb
- ベストアンサー率51% (254/492)
こんにちは 最後に"には"が付く文字列の場合、あたまに"・"を付けるという条件でしたら、 =IF(COUNTIF(A1,"*には"),"・","")&A1 または、 =IF(RIGHT(A1,2)="には","・","")&A1 文中に"には"がある文字列の場合、あたまに"・"を付けるという条件でしたら =IF(COUNTIF(A1,"*には*"),"・","")&A1 でいかがでしょうか?
- 参考URL:
- http://www2.odn.ne.jp/excel/
お礼
こんばんわ。とてもご丁寧な解答ありがとうございます。 感激です・・・涙・・・ 早速挑戦してみたいと思います。 有難うございました。
- joy-m
- ベストアンサー率30% (20/65)
得たい回答とは違うかもしれませんが、該当するセルを選択し(フィルタで抽出すると早いと思います)、セルの書式の表示形式からユーザー定義を選び、種類の項に"・"@と設定すると修正できます。
お礼
こんばんわ。いろいろなやり方があるのですね。。 エクセルって使いこなせる様になったら重宝しそうです。 頑張ります。 ありがとうございました。
- 134
- ベストアンサー率27% (162/600)
a1に元も文があったとして =IF(ISERROR(FIND("には",A1)),A1,CONCATENATE("・",A1)) というのは、いかがでしょう。
お礼
ご丁寧な解答有難うございます。 がんばってみます。 できるかな・・・・(笑) 有難うございました。
- 134
- ベストアンサー率27% (162/600)
IF文、FIND文、ISERROR文 の組み合わせで できそうな気がしますが…
- Daifuku
- ベストアンサー率36% (55/149)
「&」を使えばできますよ。 たとえば A1 のセルに「平行な2直線に接する円弧を作るには」が入力されているとします。 ここで B1 のセルに「・」 を入力し、C1 のセルに =B1&A1 としてみてください。 C1 のセルには「・平行な2直線に接する円弧を作るには」と表示されます。 ただ、C1 のセルの内容はあくまでも =B1&A1 という数式ですから、もし、文字列にしたければ C1 のセルをコピーして好きなセルの上で右クリック→形式を選択して貼り付け→「値」に チェックを付けて「OK」してやれば「・平行な2直線に接する円弧を作るには」という 文字列が入ります。
お礼
とても簡単でわかりやすくて、なるほど・・・と思いました。 ご丁寧な、アドバイス有難うございました。
関連するQ&A
- AutoCADで円弧を書く方法
初歩的な質問ですが、 AutoCADで2直線間に円弧を書きたいのですが、 上手く書けません。平行した2直線間に接する ように、円弧を書きたいのですがどうすればいいの でしょうか。OSはWin95で、2年ほど前に購入したものです。 宜しくお願い致します。
- 締切済み
- 2D
- エクセルの文字内の空白の削除
EXCELの表の列に下記のようにカタカナで氏名が入っています。 ヤマダ タロウ ヤマダジロウ できれば、全て空白を詰めて下記のように修正したいのですが、エクセルの関数若しくはBVAでは可能でしょうか??trim関数は前後の空白だけ削除ですよね?? 宜しくお願いします ヤマダタロウ ヤマダジロウ
- ベストアンサー
- その他(プログラミング・開発)
- MSエクセルのif関数にて
MSエクセルのif関数にて 業務で、エクセルのifを使った関数を利用し処理しようと思っています。 K列にαまたはβが入力されており、 L列に日付が"2008-06-07"という形で入力されているデータ群があります。 そこで、処理したい内容は以下です。 ・もし、K=αなら、L列の日付に1年プラスしてM列に入力 例)2008-06-07 → 2009-06-07 ・K=βなら、L列の日付に2年プラスしてM列に入力 例)2008-06-07 → 2010-06-07 このようにif関数を作るには、M列にどのような値を入力したら良いでしょうか。 ご存知の方、ご教示下さい。宜しくお願い致します。
- ベストアンサー
- その他(ITシステム運用・管理)
- エクセルで2.01E+04表示を201E2に変換するのは?
大量のデータを処理しなくてはならないのですが、ときどき送られてくるエクセルでデータに使われるEを含んだ記号文字列が数値になり、しかも下記のような表示に化けてしまってます。()内は数値です。 201E2⇒2.01E+04(20100) 803E7⇒8.03E+0.9(8030000000) 903E9⇒9.03E+11(903000000000) 最初から文字列で入れてくれればこんなことにはならないと思うのですが、お客様あってのことなのであまり強くは言えません。やむをえず一つずつ調べてこちらで修正をしています。 これを関数あるいはVBAで一括変換する方法はないでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセル関数を教えてください
はじめまして。 エクセルの関数で下記内容を処理したいのですが、どんな関数を使ったらよいかわからず困っています。 -------------------------- A列 B列 a-111 red a-333 orage b-222 white a-111 pink b-333 green a-111 black -------------------------- このような場合、 「a-111」と入力すると隣のセルに 「redpinkblack」というように、検索時にA列で該当したB列の文字を連結して表示したいです。 このようなことは可能でしょうか。 Excelの関数でできればと思っています。 よろしくお願いいたします。
- 締切済み
- 会計ソフト
- Excel(エクセル)で価格帯別に集計したい
エクセルの列に下記のようなバラバラな金額が並んでいます。 全部で3万個程あります。 1,000円ごとに数を知りたいのですが、どうしたらよいでしょうか? 1~1,000円が30個 1,001~2,000円が40個 2,001~3,000円が50個 といった具合です。 関数でできるのでしょうか? -------------- ¥1 ¥1 ¥1 ¥2 ¥2 ¥2 ¥2 ¥4 ¥6 ¥10 ¥10 ¥10 ~~~~~~ 省略 ~~~~~~ ¥11,239 ¥11,240 ¥11,246 ¥11,248 ¥11,250 ¥11,250 ¥11,250 ¥11,260 ¥11,269 ¥11,273 ~~~~~~ 省略 ~~~~~~ ¥358,000 ¥369,524 ¥396,900 ¥488,000 ¥504,747 ¥598,000 ¥720,825 ¥879,800 ¥980,000 ¥1,184,000 --------------- ちなみに、Excel2007を使用しています。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCELの関数について
EXCELの関数について エクセルの関数で複数条件の場合の計算について 例 A列…日付 B列…支店名 C列…処理科目 D列…金額 ある支店の日付の範囲を指定し科目別金額の合計値を別シートに算出したいのですが、 SUMIF関数では、条件の範囲が設定できないみたいなので SUMPRODCUTを使っても同一列での条件設定でうまくいきません。 なにかうまい方法はありませんか
- ベストアンサー
- その他MS Office製品
- Excel と Word の連携について
ExcelとWordの連携に関する質問です Excelで作成した図表をWordにリンク付けをして貼り付けることがよくあります。 こうすることで、Excelの図表を修正すれば自動的にword中のグラフも変わりますので、作業効率を上げることができますよね。 これと同じように、Word中の文言をExcel中の文字列からリンク付けをして貼り付けることは可能でしょうか? 以上、ご回答のほどよろしくお願いします。 □================================================================= 以下、長くなりますが、本質問の意図と目的を説明するために、例を追記いたします。 例1)アンケートの回収と速報資料作成の作業を同時にやっているような状況で、 「セグメント○○については、項目○○が最大で全体の○○%を占める。」 といったような文章があったとします。 アンケートは毎日少しづつ更新されており、文中の○○は少しずつ変わっていきます。 数値が変わるたびに手で修正するのは手間がかかりますしミスも発生します。 可能であればグラフが変わると同時に、本文中の文字列も刻々変わるようにできないか、と考えています。 例2) グラフのタイトルを作成するときに 上司から 「図表のタイトルのつけ方を『○○の出荷台数(○○県)』から『○○県の○○の出荷台数の推移』のように修正しなさい」 と指示されたとします。 wordに題を直接打ち込んでタイトルを作成すると、いちいちグラフの位置を参照しなければならないため、ミスも発生しますし文字通り手間もかかります。 また、文字列を関数で結合するなど、機械的に処理できませんし。 エクセル上でタイトルを一元管理しておけば、関数を使って編集することもできますし、修正するときにそれぞれのタイトルを見ながら確認できるのでミスが減るのではと思っています。
- ベストアンサー
- オフィス系ソフト
- Excelで行と列に連番を振る方法
Excelで行と列に連番を振る関数を教えて下さい。 例: A1に1を入力したら 以下、自動的に F1に2 A2に3 F2に4 という具合に自動反映する関数
- 締切済み
- Excel(エクセル)
- Excel INDIRECT関数の不具合について
お世話になります。 Excelのバージョンは2013で、ファイルの形式はExcel マクロ有効ブック(*.xlsm)、Windows7を使用しています。 3年程度同じ状態で使用していた下記の数式が、文字列として認識され計算結果を反映しない状態が発生するようになりました。 発生した場合は、該当箇所を選択し、区切り位置指定ウィザードから列のデータ形式をG/標準に戻すと不具合は修正されますが、該当箇所が多く、毎回修正するには手間がかかって困っています。 =IF(INDIRECT(ADDRESS(EU145,EV145))=0,"",INDIRECT(ADDRESS(EU145,EV145))) 不具合が発生するのは、INDIRECT関数を使用しているセル全てで、INDIRECT関数を使用していないセルには発生していないため、INDIRECT関数の不具合と推測しています。 原因と対応策をご存知の方は教えて頂けないでしょうか。 宜しくお願い致します。
- ベストアンサー
- Excel(エクセル)
お礼
ご親切に詳しくご説明いただき有難うございました。 参考にさせていただきます。 お礼遅くなって申し訳ありませんでした。