[[20041021230354]] 『抽出条件について』(ty) ページの最後に飛ぶ

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

 

『抽出条件について』(ty)

 同一ブック内のシート1にデータ、シート2にシート1のデータを落とし込む表を作成しました。

 <シート1>

     A     B

 1  10月  X工業

 2  10月  Y工業

 3  11月  Z工業

 これをシート2の、A列を10月、B列を11月とした表に、

     A     B

 1  X工業  Z工業

 2  Y工業

 とすることは可能でしょうか?

 (OS=WinXP&2000 Ex=2000)

 シート2の1行目セルは 年月 の記入欄とした方がいいと思います。
 シート1のA列セルも当然 年月 の記入欄とします。
 お互いがMATCHing出来るようにするためです。
 (EUREKA)

 tyさんて、Tyさんと同一人物でっしゃろ?
 それなら話は早いワ。
 こんなんどうでっか?

 1)Sheet1のA1に月、B1に企業名とでも書き込んでくだはい。
 2)Sheet2のA1から右方向に10月、11月・・・・といった塩梅に並べてくだはい。
 3)下のコードをSheet1のシートモジュールに貼り付けてくだはい。

 戻ってSheet1にデータを放り込んでみませう。
     (弥太郎)
 '-----------------------------
 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim data As Integer, n As Integer
    Dim input_row As Long

    If Target.Count > 1 Then Exit Sub
    If Target.Row = 1 Or Target.Column = 1 Or Target.Column = 3 Then Exit Sub
    data = Val(StrConv(Cells(Target.Row, 1), vbNarrow))
    With Sheets("sheet2")
        For n = 1 To .Cells(1, 256).End(xlToLeft).Column
            If Val(StrConv(.Cells(1, n), vbNarrow)) = data Then
                input_row = .Cells(65536, n).End(xlUp).Row + 1
                .Cells(input_row, n) = Target
                Exit For

            End If
        Next n
    End With
 End Sub


申し訳ありません。私はTyさんとは別人で、エクセル初心者のtyです。

マクロ等使わずに教えていただけたら幸いです。


 え〜っ!
 マクロやあきまへんかぁ。
 ほんならまあ関数のスペシャリストの登場を待ってまひょか。
     ショボン太郎の(弥太郎)

 数式ならA1に
=IF(COUNTIF(Sheet1!$A$1:$A$20,"10月")<ROW(),"",INDEX(Sheet1!$B$1:$B$20,SMALL(IF(Sheet1!$A$1:$A$20="10月",ROW($A$1:$A$20)),ROW(A1))))
でCtrl+Shift+Enterで配列数式にします。
後は下にコピーします。B列は11月に変えてください。
(ケン)

 おっ、しばらくぶりにケンさんの助け舟。(笑)
 ユーザー関数もマクロになりまっしゃろ?
 せやから下駄あずけますた。
      (弥太郎)

 いやいや、助け舟だなんて・・
また今度マクロ合戦やりまひょ。
(ケン)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.