• ベストアンサー

特定の列から一定以上、または未満の値を抽出したいです。

imogasiの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

こういう抜き出し問題は、エクセル関数以外でやったほうが良いと思うが。 フィルタオプションの設定など良いと思うが。 ーー 私は以前から、作業列を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方式を参照。

関連する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行以降のような形に出力させたいです。 お分かりになる方おられましたら、教えてください。

  • データから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特定の文字列を抽出する関数を教えてください。

    A列に***AAA/2桁の数字***と言う値があります。 *はランダムです。 2桁の数字もランダムです。 AAA/2桁の数字のみを抽出する関数を教えてください。 重複する値は、1つを残して削除したいです。 よろしくお願いします。

  • 特定の数字だけ抽出

    表の中のある列から、複数の特定の数字だけを抽出したいのですが、 どのようにやったら出来るのでしょうか? オートフィルタで、1とか3とか一個の特定の数字だけなら抽出出来るのですが、 1,3,8など特定の複数の数字は抽出出来ません。 どのようにすれば出来るのでしょうか? 抽出して並べ替えるような機能は無いですか?

  • VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています

    VBAを使ってHTMLソースから特定の文字列を抽出したいと思っています。 正規表現を利用してタグに挟まれた文字を抽出したいのですがうまくいきません。 タグごと抽出する方法でも構わないので教えてください。 例えば <a href="www.yahoo.com△">○○○</a>   ・・・<1> ※△は(www.yahoo.com)+(半角数字1文字) ※○○○は1文字以上の全角文字 このようなパターンの文字列(<1>を丸ごと)を抜き出すには どのような正規表現を書けばよいでしょうか? 単に<a href ではじまって </a>  で終わる文字列であれば <a href.*</a> で良いと思うのですが、もう少し範囲を絞れば目的の文字列だけを抽出できるので ぜひ実現させたいと思っています。宜しくお願いします。

  • エクセル 特定の文字列を抽出・挿入

    例えば A列にあるセルの中から特定の文字列を検索・抽出して、その特定の文字列だけB列に挿入していく関数はありますか? またはA列にあるセルの中から特定の文字列に挟まれた文字列を検索・抽出してその特定の文字列だけB列に挿入していく関数はありますか? マクロを組まないと難しいのでしょうか?

  • 特定の列の抽出

    CSVファイルがあり特定の列を抽出したいんですが、excelが入ってなくマクロ(VB)が使用できない為、そのような処理をバッチで処理することは可能でしょうか?教えてください。ちなみに抽出条件は日付です。

  • 特定の日付に値するデータの抽出方法を教えてください。

    特定の日付に値するデータの抽出方法を教えてください。 画像の様に、データがある場合、"次回配達日"にあたる6/29に 値する列全てを別シートに抽出参照したいです。 分かりにくく申し訳ございません。。