名前 1点数 1順位 2点数 2順位
○○ ○ ○ ○ ○
○○ ○ ○ ○ ○
○○ ○ ○ ○ ○
となっている表がsheet1にあったとき、1順位と2順位のいずれかが20位以内に入る人のデータだけを集めた表を、sheet2に抽出したいです。関数などを用いて、sheet1の表にデータを入れ込めば一発で結果がsheet2に表示されるようなフォーマットを作りたいのですが、方法を教えてください。
注:「ココで調べて」「不可能」など、具体的なやり方を明記していない回答は0ポイントとさせて頂きます。ご了承ください。
http://arena.nikkeibp.co.jp/tec/excel/20040310/107759/
常に並べ替えられた表を作成する - デジタル - 日経トレンディネット
こんにちは。
ここに、常に並べ替えた表を児童で表示する方法が載っています。
ただこれだけだと、1順位と2順位のいずれかが、という条件にはあっていません。
いったんif文を使用すれば「いずれかが20位以内」のものを並べ替えることができると思います。
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
試してみます!
URLはダミーです。
Sheet2のA2セルに
=IF(OR(Sheet1!C2 < 21,Sheet1!E2 < 21),Sheet1!A2,””)
を入れてみてください。
試してみます!ありがとうございます。
http://www.hatena.ne.jp/1101444638
人力検索はてな - エクセルの関数に関する質問です。 名前 1点数 1順位 2点数 2順位 ○○ ○ ○ ○ ○ ○○ ○ ○ ○ ○ ○○ ○ ..
シート2枚目のところに
=IF(Sheet1!B3<5,Sheet1!B3,””)
とかいれてみては?
上の式だと
Sheet1のB3が5より大きかったら、そこの値
小さかったら何も出さない。
となります。
なるべく空欄は出したくないんですが。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
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 |
出来ればダイレクトに関数の式を教えてください。