• ベストアンサー

セルの数字を範囲で選択して計算させたいです。

エクセル2000を使用しています。 CSVファイルを読み込んで、シートに,区切りで開きました。 特定の列の数字を範囲で選択して(複数行)、範囲で選択したセルの数字を1/1000したいです。  特定のセルを範囲で指定するのは、毎回セルの開始行とセルの終了行が変わるためです。また 選択行の上下セルにも文字が入ってきます。 別シートに数式をいれないで、同じセルに計算結果を出すことは可能でしょうか?

  • puxu
  • お礼率53% (15/28)

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

  • ベストアンサー
  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.2

>セルの数字を1/1000したいです 空きセルに 1000を入力 その1000をコピー、 1/1000にするセルを選択 編集 → 形式を選択して貼り付け → 除算をオンにしてOK 1/1000にはなりますが 違うかな

puxu
質問者

お礼

ご回答大変ありがとうございました。 形式を選択して貼り付けは、貼り付けのみしか使ったことがなく 演算をしようするところは、まったく知りませんでした。 今後の仕事にも大変役立つご説明でした。 なんとなくで、エクセルを使えていた気がしていましたが、 ぜんぜんでした。ちょっと感激して同僚にも教えてあげました。 大変ありがとうございました。

その他の回答 (3)

  • nametom
  • ベストアンサー率39% (17/43)
回答No.4

適当なセルに0.001を入れておいて その適当なセルをコピーして 1/1000したい範囲を選択した後、形式を選択して貼付で 演算を乗算にしたらどうでしょうか?

  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.3

こんにちは 演算対象が整数の場合限定ですが、 他のセル範囲をまったく使わない方法です。 /// 1)対象範囲を選択。 2)Alt キーを押し下げながら F11 キーを押し、 Visual Basic Editor を表示。 3)続けて、Ctrl キーを押し下げながら G キーを押して、表示される・・・ イミディエイトウィンドウ上の空白に、 4)次の一行を過不足なくコピぺ selection=application.text(selection,"0"".""000") 5)そのまま(貼り付けした文字列の旁にキャレットがある状態で)、 Enter キーを押す。 /// 裏技というよりは、VBAの小技を シート編集に活用する方法の紹介ということになります。 XL2000の仕様に合わせていますが、以降のバージョンでも可能な筈です。 純粋に「1/1000」に応えるものなので、「切捨て」などが必要なら、 まったく違う方法になります。 上記手順で、選択した列範囲の値が、 ・数値として読める文字列なら、演算して文字列を返す。 ・数字ではない文字列なら、そのままの文字列を返す。 という特徴があります。 前者は、この手順独特のもので、基本的にセルの書式を変えることがありません。 後者は#2さんご提示の「形式を選択して貼り付け」の「演算」と共通です。 例えば、一行めが文字列(項目タイトル)であっても、それを含めて選択して実行したり、 例えば、誤って文字列として数値が入力されている場合など、 多少扱い易いかと思います。 XL2002以降なら、文字列数字の誤入力は考えにくいのですけどね。 (そういう意味ではXL2000ならではの方法です) 「データ」「区切り位置」で値を列に転回する際、 転回先の書式を文字列に指定しておいた場合とか、 すべて文字列で扱いたい場合とか、 それ以外の普通の扱い方でも、 「書式などを、勝手に変更されない」方法という意味があります。 ニーズと違うようでしたらスルーして貰って結構です。 変わった方法ですし、他の方が提示された方法で不足がないなら、 その方がよいと思いますので。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

計算結果を反映させることはできませんが、確認することはできます Excelの画面右下あたりを見てください ひょっとすると違う数字が表示されているかもしれませんが、合計値が表示されませんか? ここには合計や平均・最大・最小値が表示されます (その数字を右クリックすると、表示する内容を選択することができます   合計を選択すると、範囲中の合計値を表示してくれますよ) その数字をどこか決めた場所に入力することで計算して1/1000にすることができますので ちょっと手間ですが、そう言った方法で対処してはいかがでしょう

puxu
質問者

お礼

ご回答ありがとうございました。 私の説明不足により、少しイメージとちがいましたが、 教えていただいた方法も、業務上大変役に立ちます。 もっと、勉強をしなくてはいけないなと痛感しました。 本当にありがとうございました。

関連するQ&A

  • 値が奇数の時、任意のセル範囲の行の色付けマクロを

    条件つき書式のマクロを教えてください。 任意の選択したセルの右端列に数字を入力しています。 その数字が奇数だったら、数字の入力してある任意の列は除いて、行の色付けをしたいのです。 選択するセル範囲と数字の入っているセルの列はシート毎、ブック毎に、変わりますので、マクロで設定をしたいと思っています。エクセル2010を使っています。 よろしくお願いします。

  • 複数行の最下行の範囲選択

    こんにちは、マクロ初心者です。    A  B  C  D  E  F  G  H  I 1  あ  あ  あ        あ  あ     あ 2  あ  あ  あ        あ  あ     あ 3  あ     あ                 あ 4        あ                 あ 5        あ                 あ 6        あ                 あ 7        あ                 あ 8        あ                 あ 9        あ 10 上記のような表があるとき セル"A"列から"I"列までの最下行にあたる行を検索し、 更に最下行までの範囲をコピーして、別シートにコピーさせたいのです。 (上記の例だと、セル"A1"~"I9"の範囲をコピーする) Range("A1", Range("I1").End(xlDown)).Select Selection.Offset(0, 0).Select 上記のコードでできると思ったのですが、なぜか不必要な範囲まで選択されてしまいます。 (下方向に数行余計に選択されてしまう) これではダメなのでしょうか? ちなみに、数式などは入っておらず、入力されていないセルは全て空白です。 A列だけの最下行を選択するというのは簡単に出来たのですが、このように複数の範囲を 選択する場合は、どのようにコードを書くべきでしょうか。 マクロのスキルが無い為困っています。 アドバイスをよろしくお願いいたします。

  • VBA 選択範囲がセル範囲か列丸ごとか区別

    マクロ起動時のセルの選択範囲により、異なる処理をしようと思ってます。 ・セル1個あるいは縦に複数個選択されている 選択したセルについて処理 ・1列全体が選択されている 1列のデータ入力されているセルのみ対象 なので、起動時に選択されているのがセル範囲なのか1列全体なのか識別する必要があります。 どうすればいいでしょうか?

  • excel セルの複写など

    excelの使い方3点 初心者です。よろしくお願いいたします。 質問1 例:セルABC・・・に計算した数字が並んでいます。それを他のセルにコピーしたい。そのままコピーしたら数字が変わってしまします。列のセル数が少ないと=$A$1でコピーできることは解りますが縦列にかなりの数字が列挙している場合はどのような数式を書くと複写できますか? 質問2 シートに多くのデータが有ります。特定の列だけを選んでグラフを書きたい。特定列複数の選択の仕方について。例:A・C・Dを選択してグラフを書きたいと思っています。 質問3 セルに数字を入力すると日付に変わります。セルを数字や%、ユーザー設定に変えても日付になってしまいます。操作方法を教えてください。 パソコン初心者にわかる表現でお願いします。

  • 特定セルから29右までを範囲選択→切り取り→

    特定セルから29右までを範囲選択→切り取り→50個右に移動して貼り付け 毎回A列が先頭にあるのですが、どこのA列になるかは、データによってまちまちになってしまうため、自分自身でそこを選択してからマクロ実行をしようと考えてます。

  • EXCEL2000 選択範囲が反転しない

    複数セルの範囲選択、行選択、列選択で選択されたところの外枠だけが濃くなり、色がつかない(以前は色が反転していた)よって選択範囲が判別しにくい状態です。

  • エクセルvbaセル範囲について

    困っております。 ご教授ください。 エクセルシート上に1~10の数字が列方向に並んでいます。 ユーザーフォームでtextbox1とtextbox2を作成します。 textbox1とtextbox2は1~10の間で範囲を入力します。 textbox2でエンターを押されたときに処理が開始します。 例えばtextbox1に「3」、textbox2に「8」が入力された場合、 3,4,5,6,7,8のセル範囲を選択したいのですがどのようにすればよろしいでしょうか。 よろしくお願いします。

  • マクロで可視セルのみの削除

    A行に数字を入れ、B行にA行同列セルの数字に対して 数値を返す数式を入れています。 B行は非表示にしています。 (C・D行、E・F行・・・とも同じ処理) 数字を入力する範囲(A、C、E・・・)を選択し、 入力されている数字を消去するようマクロを組みました。 (範囲選択→ツールの編集→ジャンプ→可視セルを選択後、Delete) これはうまく作動します。 が、数式が壊れるのを防ぐ為、念には念を・・・と、 入力範囲部分はセルの書式設定で保護ロックを外し、 シートを保護しました。 そうすると、保護されているからだめ!と エラーが出て、マクロが作動しません。 (可視セル選択部分にデバッグがでます。) ・非表示のセルがある ・一部を除きシートを保護している 状態で、マクロで可視セルのみ削除することは不可能なんでしょうか? 宜しくお願いします。

  • エクセル2003VBAで選択範囲

    いつもお世話になっています。 エクセル2003を使用しております。下記を関数又はVBAの組み方・構文を教えて下さい。 (1)E列には、「1」と「.」と「空白」が入っています(「1」が入ってないケースもあります)が、「1」を検索します。もし「1」が無ければ、J列を同様に検索します。(中身はE列と同じです) (2)「1」が入っているセルから見て、「行」の±10の範囲内を選択し、別シートにコピーする。 例1. 1が入っているセルが、「E15」とします。 この場合、コピーしたい範囲は、5行目全部~25行目全部です。 例2. 1が入っているセルが、「E17」とします。 この場合、コピーしたい範囲は、7行目全部~27行目全部です。 分かりにくいかもしれませんが、よろしくお願いします。

  • 選択範囲の反転

    いつも有難うございます Excel2007ですが、あるシートに100行100列を使用して作成してあります、そこでその中の2列を100行まで選択をしておきそれを選択しない98列の方に反転したいのですが(選択範囲の反転)可能でしょうか。 宜しくお願いいたします。

専門家に質問してみよう