エクセルの関数に関する質問です。


名前 1点数 1順位 2点数 2順位

○○  ○   ○   ○   ○ 

○○  ○   ○   ○   ○ 

○○  ○   ○   ○   ○ 

となっている表がsheet1にあったとき、1順位と2順位のいずれかが20位以内に入る人のデータだけを集めた表を、sheet2に抽出したいです。関数などを用いて、sheet1の表にデータを入れ込めば一発で結果がsheet2に表示されるようなフォーマットを作りたいのですが、方法を教えてください。

注:「ココで調べて」「不可能」など、具体的なやり方を明記していない回答は0ポイントとさせて頂きます。ご了承ください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/11/26 13:50:38
  • 終了:--

回答(11件)

id:kikuta No.1

kikuta回答回数140ベストアンサー獲得回数02004/11/26 13:59:20

ポイント18pt

http://arena.nikkeibp.co.jp/tec/excel/20040310/107759/

常に並べ替えられた表を作成する - デジタル - 日経トレンディネット

こんにちは。

ここに、常に並べ替えた表を児童で表示する方法が載っています。

ただこれだけだと、1順位と2順位のいずれかが、という条件にはあっていません。

いったんif文を使用すれば「いずれかが20位以内」のものを並べ替えることができると思います。

id:kaerukaerukaeru

出来ればダイレクトに関数の式を教えてください。

2004/11/26 14:10:15
id:EddyYamanaka No.2

EddyYamanaka回答回数385ベストアンサー獲得回数12004/11/26 14:18:00

ポイント18pt

http://www.hatena.ne.jp/1101444638#

人力検索はてな - エクセルの関数に関する質問です。 名前 1点数 1順位 2点数 2順位 ○○  ○   ○   ○   ○  ○○  ○   ○   ○   ○  ○○  ○   ..

以下のマクロでどうでしょう?

Private Const ROW_START = 2

Private Const COL_NAME = 1

Private Const COL_RANK1 = 3

Private Const COL_RANK2 = 5

Private Const LEVEL = 20

Private Sub Worksheet_Change(ByVal Target As Range)

Dim iRow1 As Integer

Dim iRow2 As Integer

iRow1 = ROW_START

iRow2 = ROW_START

Call Sheet1.Rows(1).Copy(Sheet2.Rows(1))

While Len(Cells(iRow1, COL_NAME))

If (Cells(iRow1, COL_RANK1) <= LEVEL) Or (Cells(iRow1, COL_RANK2) <= LEVEL) Then

Call Sheet1.Rows(iRow1).Copy(Sheet2.Rows(iRow2))

iRow2 = iRow2 + 1

End If

iRow1 = iRow1 + 1

Wend

End Sub

id:kaerukaerukaeru

試してみます!

2004/11/26 14:29:26
id:actual No.3

actual回答回数610ベストアンサー獲得回数12004/11/26 14:22:47

ポイント17pt

URLはダミーです。

Sheet2のA2セルに

=IF(OR(Sheet1!C2 < 21,Sheet1!E2 < 21),Sheet1!A2,””)

を入れてみてください。

id:kaerukaerukaeru

試してみます!ありがとうございます。

2004/11/26 14:30:07
id:itg1224 No.4

itg1224回答回数72ベストアンサー獲得回数02004/11/26 14:24:40

ポイント17pt

http://www.hatena.ne.jp/1101444638

人力検索はてな - エクセルの関数に関する質問です。 名前 1点数 1順位 2点数 2順位 ○○  ○   ○   ○   ○  ○○  ○   ○   ○   ○  ○○  ○   ..

シート2枚目のところに

=IF(Sheet1!B3<5,Sheet1!B3,””)

とかいれてみては?

上の式だと

Sheet1のB3が5より大きかったら、そこの値

小さかったら何も出さない。

となります。

id:kaerukaerukaeru

なるべく空欄は出したくないんですが。

2004/11/26 16:21:21

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 kikuta 140 120 0 2004-11-26 14:42:47
2 houraidou 4 2 0 2004-11-26 14:47:30
3 actual 610 536 1 2004-11-26 17:48:20
4 ralph 25 18 0 2004-11-26 17:55:10
5 brest 9 6 0 2004-11-27 08:22:56
6 sami624 5245 4679 43 2004-11-27 08:30:51
7 SigZ 29 27 0 2004-11-29 21:44:41

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません