アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんわ。

Excel中の数値の列(A)から別の数値の列(B)中の数値と一致しない数値を抽出することはできるのでしょうか?
ただし、ここでの『一致しない』とは、数値の列(B)中の数値と誤差±0.5の範囲にないということです。

例えば、以下のようなことができれば良いのです。

A   B
0.5   1
1.2  5
7   8
9   10 →    抽出結果 7, 9

この様なことはできるのでしょうか?できたら方法を教えてください。また、このようなことができるフリーソフト等があるというような情報も大歓迎です。

Excelについては初心者であり、数値を打ち込んだり四則演算ができる程度です。
どうか皆さんのお力を貸してください。よろしくお願いします。

ちなみに、ExcelはMicrosoft Excel 2007を使用しています。

A 回答 (5件)

範囲外(一致しないモノ)を一発で抽出する事も一応可能ですが,準備がかなりメンドクサイので,



1.数値の列(A)を複製する
2.複製リストの中から,範囲内(±0.5以内)を抽出する
3.抽出した要素を削除する
4.残った要素が一致していないものとして抽出される

という段取りについてお話しします。


添付図:
値のリストをA8以下に複写する
D2に
=">="&C2-0.5
E2に
="<="&C2+0.5
と記入し,判定のリストの数だけ下向けに複写する
D1に
=A1
E1に
=A1
と記入する

データタブの並べ替えとフィルタグループの中にある,詳細設定を開始する
 抽出先 選択範囲内
 リスト範囲 $A$8:$A$12
 検索条件範囲 $D$1:$E$5
を設定し,OKする

範囲内の0.5と1.2が抽出されるので,選んで削除する(右クリックして行を削除する)
データタブでフィルタの「クリア」を行うと,残り物の7と9が範囲外である。
以上です。



#超絶ムズカシー関数の式で「抽出」させる事もやれば出来ますが,実地に適用できないのでやめた方が良いです。
「[Excel]複数の数値から条件にあった」の回答画像1
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

回答して頂いて申し訳ないのですが、質問の問題は解決できました。

お礼日時:2011/02/07 18:47

補助列を使って表示させるなら、以下のような関数を利用します(添付画像参照)。



C2セル(以下オートフィル)
=IF(AND(INDEX((ABS($B$2:$B$100-A2)>0.5)*(A2<>""),)),ROW(),"")

E2セル(以下オートフィル)
=IF(COUNT(C:C)<ROW(A1),"",INDEX(A:A,SMALL(C:C,ROW(A1))))
「[Excel]複数の数値から条件にあった」の回答画像5
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

回答して頂いて申し訳ないのですが、質問の問題は解決できました。 

お礼日時:2011/02/07 18:47

抽出するためには


『誤差0.5』範囲かどうかの判断材料が必要なのはわかりますね?。

それを求め、C列にでも表示することから始めたら良いです。

その値とA列を比較しD列にでもマーク表示すれば対象行が特定できる。


A列B列だけ見ていても答えはすぐ出せません。


ワークシート、ですから必要なものを挙げてみる。


フリーソフトに頼るレベルでないです。探す方がむだ足。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

回答して頂いて申し訳ないのですが、質問の問題は解決できました。

お礼日時:2011/02/07 18:47

質問の意味がしっかり表現されてないのでは、文章表現力を磨くのが先だ。


(1)質問の意味は
 A. 各行(1行)単位に判断するのか。
 B またはA列の1セルの値がB列全体の中にあるかどうか判断するのか。(ただし+-5%の範囲を考えて)
   これは難しい問題だと思う。
(2)95%-105%はA列で考えるのか、B列で考えるのか
(3)データには小数点つき数と整数と在るが、どう考えるのか。
ーー
(1)Aで(2)はB列と考えると)5%、105%は書きC,D列で
0.510.951.05
1.254.755.25
787.68.4
9109.510.5
該当は7,9にならないのでは。該当なしではないか。
    • good
    • 0

こんにちは!


質問内容からすると2行目のデータも誤差が0.5以上になりますが・・・

とりあえず一例です。
↓の画像のようにC列を作業用の列として、結果をE列に表示するようにしてみました。

作業列C2セルに
=IF(COUNTBLANK(A2:B2),"",IF(ABS(A2-B2)>0.5,ROW(),""))
という数式を入れオートフィルで下へずぃ~~~!っとコピー!またはE2セルのフィルハンドルでダブルクリック

結果のE2セルに
=IF(COUNT(C:C)<ROW(A1),"",INDEX(A:A,SMALL(C:C,ROW(A1))))
という数式を入れオートフィルで下へコピーすると画像のような感じになります。

こちらでは2行目の1.2も表示されてしまいました・・・


参考になれば良いのですが。m(__)m
「[Excel]複数の数値から条件にあった」の回答画像2
    • good
    • 0

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