- ベストアンサー
特定の列から一定以上、または未満の値を抽出したいです。
特定の列から一定以上、または未満の値を抽出したいです。 たとえばA列だけに絞って、10以上の数字がないかどうか等。 A~D列までに10以上の数字がないか、というのもできれば。
- sibainudon
- お礼率10% (35/319)
- オフィス系ソフト
- 回答数6
- ありがとう数4
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>たとえばA列だけに絞って、10以上の数字がないかどうか等。 ■オートフィルタ A列を選択して「データ」「フィルタ」「オートフィルタ」を実行 A1で▼をクリックしてオプションから「10」「以上」で抽出 ※10未満のセルは非表示になります。 ■条件付き書式 A列を選択して「書式」「条件付き書式」を実行 「セルの値が」「次の値以上」「10」で書式ボタンでパターンの色を選択 ※色の付いたセルが10以上の数値のあるセルになります。 >A~D列までに10以上の数字がないか、というのもできれば。 ■オートフィルタ E列にて、下記の数式を設定 E2=COUNTIF($A2:$D2,">=10") E列を選択して「データ」「フィルタ」「オートフィルタ」を実行 E1で▼をクリックしてオプションから「1」「以上」で抽出 ※10以上のセルのない行は非表示になります。 ■条件付き書式 A:D列を選択して「書式」「条件付き書式」を実行 「セルの値が」「次の値以上」「10」で書式ボタンでパターンの色を選択 ※色の付いたセルが10以上の数値のあるセルになります。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17068)
こういう抜き出し問題は、エクセル関数以外でやったほうが良いと思うが。 フィルタオプションの設定など良いと思うが。 ーー 私は以前から、作業列を1列使う方法をしつこく書いている。Googleで「imogasi方式」で照会してくれれば、抜き出し問題と色んな解法のオンパレードです。 作業列には (1)1列にの場合 例データ Sheet1 A列 B列(作業列) 12 1 9 2 3 34 2 10 6 9 11 3 B列の式はB2に =IF(A2>10,MAX($B$1:B1)+1,"") 下方向に式を複写して上記 Sheet2に A2に =INDEX(Sheet1!$A$1:$A$100,MATCH(ROW()-1,Sheet1!$B$1:$B$100,0),COLUMN()) 下方向に式を複写。 12 34 11 #N/A (2)4列にの場合 Sheet3 質問と違って10以上のある列を抜き出した。 A列 B列 C列 D列 F列(作業列) 12 4 5 13 1 5 3 2 1 6 4 5 13 2 7 5 3 4 8 3 12 1 3 23 4 7 16 4 6 6 5 6 条件に合う行に連番を振っているだけ。 F2の式 =IF(MAX(A2:D2)>10,MAX($F$1:F1)+1,"") 下方向に式複写。結果上記。 Sheet4に行って 行番号とSheet3の連番を関連付けてデータを持ってきている。 A2は=INDEX(Sheet3!$A$1:$D$100,MATCH(ROW()-1,Sheet3!$F$1:$F$100,0),COLUMN()) D2まで式複写。A2:D2を下方向錦複写 結果 12 4 5 13 6 4 5 13 8 3 12 1 23 4 7 16 #N/A #N/A #N/A #N/A #N/Aを出さない方法は上記imogasi方式を参照。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 ↓の画像でK2セルに以上・L2セルに未満の数値を入力します。 そして、F2セルに =IF(SUMPRODUCT((A$2:A$1000>=$K$2)*(A$2:A$1000<$L$2))<ROW(A1),"",INDEX(A$2:A$1000,SMALL(IF(A$2:A$1000>=$K$2,IF(A$2:A$1000<$L$2,ROW($A$1:$A$999))),ROW(A1)))) これは配列数式になってしまいますので、 この画面からコピー&ペーストしただけではエラーになると思います。 F2セルに貼り付け後、F2キーを押す、または貼り付けセルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 これを列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 尚、数式は1000行目まで対応できるようにしていますが、データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m
- 米沢 栄蔵(@YON56)
- ベストアンサー率36% (37/102)
関数式にて、10以上の数字ではなく、10以上の数値を抽出する方法を書きます。 A1に抽出数値(10)を入力することにします。 A2に抽出結果を出力することにします。 抽出対象データは、A3~D12に存在しているものとします。 (1)E3に次の関数式を入力します。 [=IF(OR(A3>$A$1,A3=$A$1),"A","")] (2)E3をコピーし、E3~H12に貼り付けます。 (3)A2に次の関数式を入力します。 [=COUNTIF(E3:H12,"A")] (4)E~H列を選択し、右クリックし、表示しないを選択します。 これでOKです。 使い勝手のいいように、色々変更してお使い下さい。 マクロを利用するともっと簡単に出来ますので、マクロを勉強してみては。
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばA1セルからA100セルの間で10以上の数値を抽出するのでしたら次の式を例えばC1セルに入力し下方にオートフィルドラッグします。値の大きい順から下に並べて表示されます。 =IF(ROW(A1)>COUNT(A$1:A$100),"",IF(LARGE(A$1:A$100,ROW(A1))>=10,LARGE(A$1:A$100,ROW(A1)),"")) 例えばA1セルからD100の間で10以上の数値を抽出するのでしたら次の式を例えばF1セルに入力して下方にオートフィルドラッグします。 =IF(ROW(A1)>COUNT(A$1:D$100),"",IF(LARGE(A$1:D$100,ROW(A1))>=10,LARGE(A$1:D$100,ROW(A1)),""))
- kagakusuki
- ベストアンサー率51% (2610/5101)
Excelを使用する場合の話なのでしょうか? 仮にそうだとして、関数を使用して抽出される場合は、以下の様な方法があります。 今仮に、A~D列から10以上の数値を抽出するとしますと、まずは、抽出した値を表示させる列の1行目にあるセルに、次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNTIF(A:D,">=10"),"",LARGE(A:D,ROWS($1:1))) 次に上記の数式を入力したセルをコピーして、同じ列の2行目以下のセルに貼り付けて下さい。 これで、抽出された10以上の数値が、値の大きい順番に表示される様になります。 尚、値の小さい順番に表示させる場合には、入力する数式を次のものに変えて下さい。 =IF(ROWS($1:1)>COUNTIF(A:D,">=10"),"",SMALL(A:D,COUNT(A:D)-COUNTIF(A:D,">=10")+ROWS($1:1))) もし、抽出した数値を表示させるのが、1行目からではなく、2行目から始めるのでしたら、数式中にある全ての ROWS($1:1) と記されている箇所を ROWS($2:2) に変えて下さい。 それから、抽出元の列がA~D列ではなく、A列のみとする場合には、数式中にある全ての A:D と記されている箇所を A:A に変えて下さい。
関連するQ&A
- 番号が一致したら別の列の値を抽出したい
こんばんわ。 Excelについて教えてください。 A列に数字が1~10と並んでおり、 C列には数字が穴あきで5つ(1,2,4,6,8)あったとし、 A列とC列を比較して比較し、数字が重複した場合は、 D列にある値をB列に抽出したいのですが、行番号を指定して 抽出する事なんてできますでしょうか? ↓こんな事をしたいです。 A列 B列 C列 D列 1 A 1 A 2 B 2 B 3 4 C 4 C 6 D 5 8 E 6 D 7 8 E 9 10
- ベストアンサー
- オフィス系ソフト
- 5000以上10000未満 10000万以上30000未満 …
金額が0~999999までの数字がA列に入っています。 これをB列で、5000未満・10000未満・30000未満・50000未満・50000以上の5グループにして表示したいのですが、どの様な関数で出来るのでしょうか? どうぞ宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセル2003 特定の列の値がTRUEの抽出
エクセル2003を使用しています。 特定の列の値がtrueの行の特定の列の値のみ抽出したいです。 具体的には、B列に「TRUE」が入っている行のC列の値のみを羅列することができませんでしょうか。 添付した画像のようなエクセルを作成しており、 添付画像の中の2~6行の中から、10行以降のような形に出力させたいです。 お分かりになる方おられましたら、教えてください。
- 締切済み
- その他MS Office製品
- データから130以上と140以上を別々に抽出したい
血圧測定の結果データがあります。 一回目の結果が140以上/90以上のときは、もう一度測り直します。 一回目の結果が140未満/90未満のときは、二回目はせず、値は「0/0」として未記載はなしです。 やりたいことは、 二回の結果のうち小さい値のほうで 130以上のとき/140以上のときを抽出(条件にあっていれば1と表示)したい ※ただし、二回目をしなかった場合は一回目の値だけで抽出 A B C D E 1氏名 上血圧1回目 上血圧2回目 130以上 140以上 2 AA 150 140 【ここ】→1と表示 【ここ】→1と表示 3 BB 140 150 【ここ】→1と表示 【ここ】→1と表示 4 CC 140 130 【ここ】→1と表示 【ここ】→0と表示 5 DD 140 120 【ここ】→0と表示 【ここ】→0と表示 6 EE 135 0 【ここ】→1と表示 【ここ】→0と表示 6 FF 120 0 【ここ】→0と表示 【ここ】→0と表示 私が考えた式は、 140以上の方は、 =if(and(B列>=140,C列>=140),1,0) と、1つの式でできるかなと思うのですが、130以上の方は、三段階になってしまいました。 130以上の方は、 (1)まず一回目で測定完了の場合を抽出 =IF(AND(B列>=130,C列=0),1,0) (2)つぎに二回目まで測定した場合を抽出 =IF(AND(MIN(B列,C列)>=130,C列<>0),1,0) (3)さいごに(1)と(2)を足すと130以上が1と抽出 この、130以上の式は1つの式で作ることは可能でしょうか。 単純に、(1)と(2)をくっつければよいのかと思い、 =IF(OR(AND(B列>=130,C列=0),(AND(MIN(B列,C列)>=130,C列<>0)),1,0) としたところ、 「そんな数式はない」とexcelに言われ行き詰まりました。 よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- Excel特定の文字列を抽出する関数を教えてください。
A列に***AAA/2桁の数字***と言う値があります。 *はランダムです。 2桁の数字もランダムです。 AAA/2桁の数字のみを抽出する関数を教えてください。 重複する値は、1つを残して削除したいです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています
VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています。 正規表現を利用してタグに挟まれた文字を抽出したいのですがうまくいきません。 タグごと抽出する方法でも構わないので教えてください。 例えば <a href="www.yahoo.com△">○○○</a> ・・・<1> ※△は(www.yahoo.com)+(半角数字1文字) ※○○○は1文字以上の全角文字 このようなパターンの文字列(<1>を丸ごと)を抜き出すには どのような正規表現を書けばよいでしょうか? 単に<a href ではじまって </a> で終わる文字列であれば <a href.*</a> で良いと思うのですが、もう少し範囲を絞れば目的の文字列だけを抽出できるので ぜひ実現させたいと思っています。宜しくお願いします。
- ベストアンサー
- Visual Basic
- エクセル 特定の文字列を抽出・挿入
例えば A列にあるセルの中から特定の文字列を検索・抽出して、その特定の文字列だけB列に挿入していく関数はありますか? またはA列にあるセルの中から特定の文字列に挟まれた文字列を検索・抽出してその特定の文字列だけB列に挿入していく関数はありますか? マクロを組まないと難しいのでしょうか?
- 締切済み
- オフィス系ソフト
- 特定の列の抽出
CSVファイルがあり特定の列を抽出したいんですが、excelが入ってなくマクロ(VB)が使用できない為、そのような処理をバッチで処理することは可能でしょうか?教えてください。ちなみに抽出条件は日付です。
- ベストアンサー
- その他(プログラミング・開発)
- 特定の日付に値するデータの抽出方法を教えてください。
特定の日付に値するデータの抽出方法を教えてください。 画像の様に、データがある場合、"次回配達日"にあたる6/29に 値する列全てを別シートに抽出参照したいです。 分かりにくく申し訳ございません。。
- ベストアンサー
- ハードウェア・サーバー