[[20081001150139]] 『INDEX関数で行挿入』(どらぁ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『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.