• ベストアンサー

マイナスのものだけコピーしたい

初心者です。教えてください。 表(1)にあるマイナスの数値のものだけを選んで、同じシート内にあるの別の表(2)にコピーできるような関数はありませんか?

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

  • ベストアンサー
  • vista2446
  • ベストアンサー率46% (131/279)
回答No.5

まだ見てるかな~? 表(1)にタイトル行があって、表(2)を新たに作ってよいのなら。。。 フィルタオプションをお勧めします。「データ」の「フィルタ」から「フィルタオプション」を呼び出します。抽出先には「指定した範囲」にチェックを入れ、リスト範囲を表(1)のセル範囲、検索条件範囲は、シート上の邪魔にならない場所で検索したい列のタイトルと、その下のセルに「<0」を入力して(フィルタオプションを呼び出す前に作っておきましょう)そのセル範囲、抽出範囲は、表(2)を書き出すセルを指定(1セルを指定しても表は作成されます。)お試しあれ~~~(^_-)

その他の回答 (5)

noname#52504
noname#52504
回答No.6

>関数か何かで出来たら とのことですが、こういった処理の場合、通常は"何か"の方、  A.#2さんの提示されたオートフィルタを使う方法  B.#5さんの提示されたフィルタオプションを使う方法 でやるのが手っ取り早いかと思います。 もちろん、実際に試してみるとお分かりのように、 どちらの方法でも自分で探す必要はありませんし、表(2)は必要最低限の行ですみます。 ただ、関数を使ってできないわけではありません。 関数を使う場合、  C.全体をコピーしてから、#1さんのような方法でマーク、ジャンプ機能で選択して行抜き といった処理が考えられますが、 表(2)が同じシートにある場合は不用意に行抜きできませんね。 関数だけでやる場合、  1.表(1)で作業列を使い抽出対象をナンバリング  2.表(2)でVLOOKUPやOFFSET(MATCH)等を使って引く という手順になりますが、 実際の応用・運用はある程度の理解がないと難しいと思います。 以下、表(1)の数値がA1からA1000まで入っており、マイナスの数値だけをZ列に引くとした場合です。  D1. B2セル:=COUNTIF($A$1:A1,"<0")  D2. B2セルを1000行まで下方向にフィル  D3. 必要に応じてB列を非表示に。  D4. Z1セル:=OFFSET($A$1,MATCH(ROW(),$B$1:$B$1000,0)-1,0)  D5. Z1セルを#N/Aが返るまで下方向にフィル Excel2003で動作確認。 その他、元データの規模や形式、条件の複雑さや運用方法によっては  D.クエリ  F.マクロ を使う方法もありますが、ここまでくるともう"初心者"のレベルとはいえませんね。

noname#79209
noname#79209
回答No.4

> やっぱり自分で探してコピーするしかないんですかね? > 関数か何かで出来たらと思ったんですが。。。 エクセルのワークシート関数には、「他のセルに何かをさせる」という機能はありません。 表2側で、表1の中の特定のセルがマイナスのものを参照する数式は作れると思いますが...

noname#79209
noname#79209
回答No.3

#2です。 行がたくさんあって選択するのが面倒なら、 #2の回答の「1.」から「5.」を実行したのち、 「CRTL」+Aを押すか、 行番号(「1,2,3」と出ているところ)と列番号(「A,B,C」と出ているところ)の交差点をクリックすれば、 全体が選択されるので、ここでコピー。 ただし、不要な部分も選択されてしまうので、 これがイヤなら、 最初の行の行番号をクリック、 そのまま右端のエレベータをスライドさせて最後の行を表示させ、 最後の行番号部分にカーソルを持ってきて「SHIFT」を押したままクリック。

kemiya
質問者

補足

回答ありがとうございます。 やっぱり自分で探してコピーするしかないんですかね? 関数か何かで出来たらと思ったんですが。。。 表(2)は必要最低限の行数ですませたいんです。

noname#79209
noname#79209
回答No.2

表題用の行が1行必要になりますが、 1.1行目に1行挿入(追加)します。 2.マイナスの値を選択したい列の1行目のセルに適当な表題を入れます。 3.一行目全体を選択し「データ」-「フィルタ」-「オートフィルタ」をクリック。 4.表題の「▼」をクリックして「オプション」をクリック。 5.「値」に「0(ゼロ)」、その右のドロップダウンリストから「より小さい」を選択して「OK」をクリック。 6.抽出された全ての行を選択して、コピー。 7.別のシートの適当な行を選択してペースト。

  • v_mullova
  • ベストアンサー率21% (62/285)
回答No.1

=if(A1>0,A1,"") A1にある数字がマイナスならば、A1に記入してある数値を、 0以上であれば、空白を入力する関数です。

kemiya
質問者

補足

ありがとうございます。 とても参考になりました。 でも、表(1)はとても行数の多い表なので表(2)にはそのマイナスの部分だけを空欄ナシで続けて表に入れたいのですが、それは不可能ですか? 教えてください。

関連するQ&A

専門家に質問してみよう