プロが教える店舗&オフィスのセキュリティ対策術

よろしくお願いします。
B列に縦に合計SUM関数と、SUM(IF( 関数などいろいろ関数を入れて数字が表示されています。
B列の合計SUM関数は残して、SUM(IF関数・それ以外の関数はをすべて「数値」(関数で現在計算結果として表示されている数値)に変換したいのです。
教えてください。

A 回答 (4件)

循環参照になっているし、配列数式を書いているのかな?って感じだし、


根本的にこのような氷河何故出来上がるんだって気がするけど気にせず

ツール - オプション - 全般 [レ]R1C1参照形式を使用する
対象範囲を選択し、[Ctrl]+[H]置換
 =SUM(R  → ☆SUM(R で[すべて置換]
対象範囲を選択のまま、コピー (右クリック-形式を選択して貼り付け-) ●値の貼り付け

対象範囲を選択したまま、[Ctrl]+[H]置換
 ☆SUM(R  → =SUM(R で[すべて置換]
ツール - オプション - 全般 [ ]R1C1参照形式を使用する のチェックを外す
    • good
    • 0
この回答へのお礼

R1C1参照形式の使用の仕方を知りました。
今後も役立てたいと思います。
これで、仕事が効率upすると思います。
助かりました。ありがとうございました。(*^_^*)

お礼日時:2011/11/09 05:35

 今仮に、F列以降の列(F列~IV列)は未使用であるものとします。


 まず、念のために、以下の様な操作を行い、B列の内容のバックアップを作ってください。

B列全体を選択
  ↓
選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック
  ↓
現れた選択肢の中にある[コピー]をクリック
  ↓
G1セルを右クリック
  ↓
現れた選択肢の中にある[コピーしたセルの挿入]をクリック


 次に、以下の様な操作を行い、B列の値のみを、H列等に反映して下さい。

B列全体を選択
  ↓
選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック
  ↓
現れた選択肢の中にある[コピー]をクリック
  ↓
H1セルを右クリック
  ↓
現れた選択肢の中にある[形式を選択して貼付け]をクリック
  ↓
現れた「形式を選択して貼付け」ダイアログボックスの中にある[値]と記されている箇所をクリックして、チェックを入れる
  ↓
「形式を選択して貼付け」ダイアログボックスの[OK]ボタンをクリック


 次に、以下の様な操作を行い、B列のセルの内容を、入力されている関数の情報を含んでいる文字列に変換して下さい。

B列全体を選択
  ↓
選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック
  ↓
「メニューの[編集]ボタンをクリック→現れた選択肢の中にある[置換]をクリック」

か或いは

「[Ctrl]キーを押しっ放しにしながら[H]キーを押す」
  ↓
現れた「検索と置換」ダイアログボックスの「検索する文字列」欄の中に、半角文字で

=

と入力
  ↓
「検索と置換」ダイアログボックスの「置換後の文字列」欄の中に、半角文字で

z=

と入力
  ↓
「検索と置換」ダイアログボックスの[すべて置換]ボタンをクリック


 次に、I1セルに次の様な関数を入力して下さい。

=IF(COUNTIF($B1,"z=SUM(IF(*"),$H1,IF($B1="","",$B1))

 次に、I1セルをコピーして、I2以下に貼り付けて下さい。
 次に、以下の操作を行って下さい。

I列全体を選択
  ↓
選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック
  ↓
現れた選択肢の中にある[コピー]をクリック
  ↓
B1セルを右クリック
  ↓
現れた選択肢の中にある[形式を選択して貼付け]をクリック
  ↓
現れた「形式を選択して貼付け」ダイアログボックスの中にある[値]と記されている箇所をクリックして、チェックを入れる
  ↓
「形式を選択して貼付け」ダイアログボックスの[OK]ボタンをクリック
  ↓
B列全体を選択
  ↓
選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック
  ↓
「メニューの[編集]ボタンをクリック→現れた選択肢の中にある[置換]をクリック」

か或いは

「[Ctrl]キーを押しっ放しにしながら[H]キーを押す」
  ↓
現れた「検索と置換」ダイアログボックスの「検索する文字列」欄の中に、半角文字で

z=

と入力
  ↓
「検索と置換」ダイアログボックスの「置換後の文字列」欄の中に、半角文字で

=

と入力
  ↓
「検索と置換」ダイアログボックスの[すべて置換]ボタンをクリック

 これで、B列の中で、

=SUM(IF(

から始まる関数が入力されているセルのみが、「数値」(関数で現在計算結果として表示されている数値)に変換されますから、後は、変換された内容に間違いが無い事を(H列の値を参照する等して)確認してから、余分なG列~I列を列ごと削除して下さい。
    • good
    • 0
この回答へのお礼

わかり易く、丁寧にありがとうございました。

お礼日時:2011/11/09 05:37

> B列の合計SUM関数は残して、SUM(IF関数・それ以外の関数はをすべて「数値」(関数で現在計算結果として表示されている数値)に変換したいのです。



チョッと分かりにくいご質問(表現)ですが、
B列の合計のセル(SUM関数)を残して、その他のセル(関数により値が表示されている)を数値に変換したいと言うことであれば、次のように操作してみて下さい。
(ご質問を間違って解釈しておりましたら、以下はスルーして下さい。)

1) 数値に変換したいすべてのセル範囲を選択して、「コピー」します。
2) セル範囲を選択したまま、「形式を選択して貼り付け」から「値」のラジオボタンをオンにして「OK」を押します。

「形式を選択して貼り付け」は、
a) Excel 2007以降をお使いなら、「ホーム」タブの「貼り付け」の▼を押して、表示されるメニューから「形式を選択して貼り付け」をクリックします。
b) Excel 2003以前のバージョンをお使いなら、「編集」メニューの「形式を選択して貼り付け」をクリックします。

なお、回答者からはあなたのPCの画面を見ることが出来ませんので、ご質問の際は、ご使用のバージョンを明記して頂くようお願いします。
    • good
    • 0

関数では、セルに入っている数式を取り出したり判別できない。


VBAでやれば、あるいはやれるかも。しかし質問者には想定範囲外だろう。
形式を選択して貼り付けー値のようなことは関数ではできない。(1セルずつならF9キーを押す方法もある)
エクセルは基本的に、操作で利用するソフトである。
以上を良く考えて、省力化・自動化するにも限度があるということを知ること。
初心者が思ったことを何でもやれるわけではない。
質問の入っていることのセル(行・列・シートの情報が)詳細例示が不十分と思うが、出来ないと思う。1回か数回しかない作業なら質問者が操作をやれば良い。
またエクセルのバージョンなど書いて質問するものだ。
>SUM(IF関数 SUMIF関数か?

この回答への補足

申し訳ありません。不十分でしたね。
EXECL 2002です。
A列   B列   C列   D列
4月5月6月
=SUM(IF(([年齢]>=30)*([住所地]="大阪"),[年収]))
=SUM(IF(([年齢]>=40)*([住所地]="大阪"),[年収]))
=SUM(IF(([年齢]>=50)*([住所地]="大阪"),[年収]))
計=SUM(B2:B5)
=SUM(IF(([年齢]>=30)*([住所地]="東京"),[年収]))
=SUM(IF(([年齢]>=40)*([住所地]="東京"),[年収]))
=SUM(IF(([年齢]>=50)*([住所地]="東京"),[年収]))
計=SUM(B6:B8)
=SUM(IF(([年齢]>=30)*([住所地]="名古屋"),[年収]))
=SUM(IF(([年齢]>=40)*([住所地]="名古屋"),[年収]))
=SUM(IF(([年齢]>=50)*([住所地]="名古屋"),[年収]))
総計=SUM(B5,B9)
別ファイルよりの抜き出しでこのように同じ作業が毎月あります。
計の行のみ数式は残し、それ以外の数式は値にしたいのです。
このような行が400行ぐらいあります。
VBAで出来るので有れば参考までに教えていただければ助かります。
よろしくお願いいたします。

補足日時:2011/11/08 16:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!