[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『データの一覧表の中から等差数列による等間隔の行のピックアップ関数について』(S)
例えば、住所、氏名、年齢等データの入った一覧表の中からランダムではなく等差数列(1行目、4行目、7行目、10行目、… とか 1行目、5行目、9行目、13行目、… 等)等間隔で、それらの行をピックアップして別のシートに移動する そのピックアップの仕方の関数を教えて頂きたいのですがよろしくお願いします。
Excel 2007, Windows Vista です
たとえばSheet1が一覧表だとして、J列に作業列として
J1=IF(IF(ROW(A1)<初項,1,MOD(ROW(A1)-初項,公差))=0,ROW(A1),10^9)
として最終行までフィルします。 初項と公差はどこかのセルにするなり直接入力なりしてください。
で、抽出シート側では
A1=INDEX(Sheet1!A:A,SMALL(Sheet1!$J:$J,ROW(A1)),1)
として縦横にフィル
こんなのでどうですか? (momo)
A1:=INDEX(Sheet1!A:A,ROW(A1)*3-2)) 「*3」の「3」や「-2」の「2」は元表の行番号に合うよう調整して下さい。 (NB)
上記の方法で、うまくいきそうですが 表の中の1番目の人が初項1 この合わせ方が分かりません。
実際は元表の6行目が、一覧表の1行目の人であり、ここから初項1の数列が始ります。
それと、抽出されなかった人は他のシートにコピーして、抽出されたものとされなかったものをシート別にわけたい。
よろしくお願いします。(S)
INDEX関数を理解していますか。INDEX関数の使い方がわかったとして、 A1:=INDEX(Sheet1!A:A,ROW(A1)*3-2)) " Sheet1!A:A "は抽出したいデータの列。 B1:=ROW(A1)*3-2 それぞれ下へコピー でINDEX関数の働きがわかると思います。
A列 1,4,7,10,・・・ B列 2,3,5,6,8,9,・・・・ は A1:=ROW(A1)*3-2 B1:=ROUNDUP(ROW(A1)*3/2,) それぞれ下へコピー (NB)
また、上記の[A1:=INDEX(Sheet1!A:A,ROW(A1)*3-2)) 「*3」の「3」や「-2」の「2」は元表の行番号に合うよう調整して下さい。]とはどのように調整すればいいのでしょうか?よろしくお願いします。(S)
>INDEX関数を理解していますか。 ROW関数を理解していますか。 「エクセル INDEX関数」で検索しても調べられます。 「エクセル ROWX関数」で検索しても調べられます。 (NB)
こんにちは。 >単独では分かりますが、応用が理解できませんでした。 そういうときは、少しずつ数式を増やしていくと、理解しやすいですよ。
※「_」セルは未入力または"" [R/C] [A] [B] [C] [D] [E] [F] [G] [H] [I] [1] 1行目 _ 1 3 1 _ 1行目 3行目 1行目 [2] 2行目 _ 2 6 4 _ 2行目 6行目 4行目 [3] 3行目 _ 3 9 7 _ 3行目 9行目 7行目 [4] 4行目 _ 4 12 10 _ 4行目 0 10行目 [5] 5行目 _ 5 15 13 _ 5行目 0 0 [6] 6行目 _ 6 18 16 _ 6行目 0 0 [7] 7行目 _ 7 21 19 _ 7行目 0 0 [8] 8行目 _ 8 24 22 _ 8行目 0 0 [9] 9行目 _ 9 27 25 _ 9行目 0 0 [10] 10行目 _ 10 30 28 _ 10行目 0 0
☆ROW C1 =ROW(A1) →C1:C10フィルコピー D1 =ROW(A1)*3 →D1:D10フィルコピー E1 =ROW(A1)*3-2 →E1:E10フィルコピー
☆INDEX G1 =INDEX(A:A,ROW(A1)) →G1:G10フィルコピー H1 =INDEX(A:A,ROW(A1)*3) →H1:H10フィルコピー I1 =INDEX(A:A,ROW(A1)*3-2) →I1:I10フィルコピー (コタ)
もう見ていないかな? 別な方法で、こんなのは
オートフィルタ若しくは、フィルタオプションを使いますのでListに列見出しを付けます 次に、最終列の後ろの列を作業列に使用します(住所、氏名、年齢がA、B、C列ならD列) 作業列のD2(D1は列見出しなので)に「=MOD(ROW()-2,3)」と入れます この場合、2はデータ先頭行位置(詰まりA2の2)、3は引き抜く行の差(1行、4行、7行なら、4-1=3の3)とします 此れを、データ最終行迄Copyします D2以下に、0、1、2の繰り返しの数値が出ますので、オートフィルタを掛けて下さい 次に、1行、4行、・・の抽出なら、D列の抽出条件で0を選択しCopy、出力シートを選び其処へペースト 1行、4行、・・以外の抽出なら、D列の抽出条件で1、2を選択しCopy、出力シートを選び其処へペースト では?
(Bun)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.