[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『INDEX関数で行挿入』(どらぁ)
こんにちは こちらで勉強させていただきながら エクセルで奮闘しています
早速ですが、Sheet1に以下のようにデータ入力されています
A B C D 1 aa OO 外 あ 2 bb 04 外 あ 3 aa 00 中 い 4 cc 02 外 お 5 ab 03 中 い
sheet2のA列には↓のような関数が入っており、 =IF(SUM((Sheet1!$C$2:$C$103="外")*1)<ROW(B1),"",INDEX(Sheet1!$A$2:$E$103,SMALL(IF(Sheet1!$C$2:$C$103="外",ROW($A$1:$A$99)),ROW(B1)),COLUMN(E1))) SHEET1のC列が”外”の場合、その行のAセルを抽出するようにしています 抽出はうまく行くのですが、 データがどんどん増えていった場合や、行を挿入・削除するとエラーが出てしまいます どのようにすれば追随していくのでしょうか?? もしくは、もっと良い関数などありましたら、教えていただきたく。 お手数ですが、ご教授願います
こんばんは〜♪
>抽出はうまく行くのですが、
どらぁさんが提示された、この配列数式で。。 ちゃんと、抽出されるのでしょうか。。。?
範囲が Sheet1!$C$2:$C$103 で 行番号の指定が ROW($A$1:$A$99)
行数が合っていないみたいです。。。
その他にも
>その行のAセルを抽出するようにしています
A列の値を抽出するのに、 INDEX(Sheet1!$A$2:$E$103 の COLUMN(E1) 4列目 E列を参照しています。
など、違っていませんか。。。?
★こんな表の場合です。。。 Sheet1↓
┌─┬────┬────┬────┬────┐ │ │ A │ B │ C │ D │ ├─┼────┼────┼────┼────┤ │ 1│見出し │見出し │見出し │見出し │ ├─┼────┼────┼────┼────┤ │ 2│aa │ 0│外 │あ │ ├─┼────┼────┼────┼────┤ │ 3│bb │ 4│外 │あ │ ├─┼────┼────┼────┼────┤ │ 4│aa │ 0│中 │い │ ├─┼────┼────┼────┼────┤ │ 5│cc │ 2│外 │お │ ├─┼────┼────┼────┼────┤ │ 6│ab │ 3│中 │い │ ├─┼────┼────┼────┼────┤ │ 7│ │ │ │ │ └─┴────┴────┴────┴────┘
Sheet2
┌─┬────┐ │ │ A │ ├─┼────┤ │ 1│aa │ ├─┼────┤ │ 2│bb │ ├─┼────┤ │ 3│cc │ ├─┼────┤ │ 4│ │ └─┴────┘
A1セルへ =INDEX(Sheet1!A:A,SMALL(INDEX((INDIRECT("Sheet1!C2:C"&MATCH("ー",Sheet1!C:C))<>"外")*10^4 +ROW(INDIRECT("2:"&MATCH("ー",Sheet1!C:C))),),ROW()))&""
下へコピーです。。。
データの抽出を2行目からする場合は。。。 式の最後のROW()を ROW()-1 として下さい。。。
ご参考にどうぞ。。。
。。。Ms.Rin〜♪♪
Ms.Rin〜♪♪さん、回答ありがとうございました。 実際の抽出はE列だったので、そのまま数式をこぴぺしてしまいました 数式の中身を良く理解していないのですが、取り急ぎお礼まで。 上の数式でなんとかできました!ありがとうございました (どらぁ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.