[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VLOOKUPではできないのですが・・・』(禁肉マン)
ぜんぶで4000行位あります。別のシートに上位30を抽出したいのですが、上から 日付順になっているので、順位の並びは変えられません。順位で抽出すると、順位 が昇(降)順では ないので、VLOOKUPが使えません。何かいい方法がありませんか? シート1 A B C D E F G H I J K 1 順位 番号 発注 区分 発注者 件名 場所 金額 担当 着手 完了 2 2 1 都 元 A社 ** @@ ¥20 a 18/1 18/2 3 1 2 民 下 B社 ## %% ¥50 b 18/3 18/4 ・ ・ ・ シート2 A B C D E F G H I J 1 順位 発注 区分 発注者 件名 場所 金額 担当 着手 完了 2 1 3 2 ・ ・ ・ シート2に上位30を転記?抽出?したいのです。 宜しくお願いします。
>VLOOKUPが使えません VLOOKUP(検索値,範囲,列番号,検索の型) 「検索の型」を「0」又は「FALSE」にしても、ダメって事ですよね?
(Ohagi)
データ-->フィルタ-->オートフィルタで順位でトップテンを使うと 上位30データが抽出されると思います。 これをシート2にコピペして並べ替えたら良さそう。
また、同順位が複数あるかないかは関数で処理する時に重要です。 どのようなデータが予想されますか? (茨)
=vlookup(row(A1),シート1!$A$1:$K$100,column(A1),0) かな
上はどなたでしょう? 見たことのないような式ですが、これはExcelで実際に使えますか? [式を修正されたようですので、このコメントはなかったことにして読み飛ばしてね] (茨)
どこかおかしい かな
かなさんでしたか。 てっきり無記名の名無しさんと思ったもので、失礼をしました。 その式はエラーになりませんか? [ここも、かなさんが式を修正されたので読み飛ばしてね] (茨)
テストしてみましたが、(テストなので、データは10行位しか入れてません) 下の方が#N/Aになってしまいます。 また、C列の一部だけ#N/Aになってしまいます。 同じ順位がでないようにしてあります。また、オートフィルを使わないで、関数でお願いします。 (禁肉マン)
Sheet2で A2=IF(ROW($A1)>30,"",SMALL(Sheet1!$A$2:$A$50,ROW($A1))) と入力して下にフィルドラッグ
B2=IF(ROW($A1)>30,"",INDEX(Sheet1!C$2:C$50,SUM(IF(Sheet1!$A$2:$A$50*10^5+ROW($A$1:$A$49) =SMALL(Sheet1!$A$2:$A$50*10^5+ROW($A$1:$A$49),ROW($A1)),ROW($A$1:$A$49),"")))) としてCtrl+Shift+Enterで数式を確定後、必要分右と下にフィルドラッグでどうでしょうか?
上記数式は2行目から50行目までで作成しておりますので、ご自身の表に当てはめて修正してください。 (ROUGE)
>同じ順位がでないようにしてあります。 とのことですから、Sheet2のA2に =INDEX(Sheet1!$A$1:$K$24,MATCH(ROW(A1),Sheet1!$A$1:$A$24,0),COLUMN(A1)) でも良さそうに思います。 Sheet1と2で1行目が異なっていますので、 =INDEX(Sheet1!$A$1:$K$24,MATCH(ROW(A1),Sheet1!$A$1:$A$24,0),MATCH(A$1,Sheet1!$A$1:$K$1,0)) に変更。(茨)
テストなので、データは10行位しか入れてません)下の方が#N/Aになってしまいます
10行位しか入れてません A列に1〜10まででセットしてますか。
( )
もしかして、(ROUGE)さんも(茨)さんも順位が30位まであるという条件でしょうか? じつは、工事業種ごとに同じシートがあって、業種によっては10位に満たないのもあります。 お二人の関数は両方とも、10位以下がエラーになりました。 (10位までしかデータを入れてません)どうですか?
=vlookup(row(A1),シート1!$A$1:$K$100,column(A1),0) 試されましたか、 変更してありますが、
シート2のA2に入力すると上記と同じ結果になります。
=VLOOKUP(ROW(A1),Sheet1!$A$1:$D$100,COLUMN(A1),0) sheet1 A B C 1 2 6 A い 3 3 B ろ 4 4 C は 5 8 D に 6 5 E ほ 7 7 F え 8 1 G と 9 9 H ち 10 2 I り 11 10 J ぬ
sheet2 A B C 1 2 1 G と 3 2 I り 4 3 B ろ 5 4 C は 6 5 E ほ 7 6 A い 8 7 F え 9 8 D に 10 9 H ち 11 10 J ぬ
上記数式結果 (UUU)
数式をどこにいれるのですか?シート2のA2に入れて、 ドラッグすればいいのですか?してみましたが、横にやると、#REF!になります。 半角スペースを
シート2のA2に入れて、ドラッグすればいいのですか シート名は確認の事違うと エラーですよ。 UUU
シート名はあってます。半角スペースをsenntouni
提示したシート名じゃなくあなたのエクセルシート名ですよ
何がなにやら、わけが分からないので退散します。 と、書いたものの、思い当たるところを付け加えておきます。 エラー処理がしてないことを言っているのでしょうか?(茨) =IF(ISNA(MATCH(ROW(A1),Sheet1!$A$1:$A$24,0)),"", INDEX(Sheet1!$A$1:$K$24,MATCH(ROW(A1),Sheet1!$A$1:$A$24,0),MATCH(A$1,Sheet1!$A$1:$K$1,0)))
一度だけコメントさせてください。 ↑上の方は、スレ主の禁肉マンさんだと想像しますが、 HNの記入をして頂いても宜しいでしょうか? 名無しの文章だけですと、何が何やらわからなくなる恐れがあります。 もう一つ、 ←ここに、半角スペースを入れると、フォントも小さくなり改行もされます。 エクセルマイスターより http://www.excel.studio-kazu.jp/mag2/backnumber/mm20040713.html 「#REF!」とは、『セルの参照がおかしい』時などに出るエラーです。 (キリキ)(〃⌒o⌒)b
Sheet2で A2=IF(ROW($A1)>COUNT(Sheet1!$A:$A),"",SMALL(Sheet1!$A$2:$A$50,ROW($A1)))
B2=IF(ROW($A1)>COUNT(Sheet1!$A:$A),"",INDEX(Sheet1!C$2:C$50,SUM(IF(Sheet1!$A$2:$A$50*10^5+ROW($A$1:$A$49) =SMALL(Sheet1!$A$2:$A$50*10^5+ROW($A$1:$A$49),ROW($A1)),ROW($A$1:$A$49),""))))
数式修正。数式の確定方法は上記と同じです。 (ROUGE)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.