[[20050312114323]] 『A列にある同じ数字の右側の数字を順に表示』(レイビジョン) ページの最後に飛ぶ

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

 

『A列にある同じ数字の右側の数字を順に表示』(レイビジョン)

[A列にある同じ数字の右側の数字を順番に表示する方法]

 こんにちは、本日も宜しく御願い致します
 下のような表があります。(A列は数字1〜3桁,B列は4桁の数字です。ともに順不同です)

	A	B	C	D	E
1	1	1001		1	1001
2	22	3111			2005
3	1	2005			1003
4	120	5001			7896
5	22	3123			1236
6	1	1003			
7	1	7896		22	3111
8	120	5003			3123
9	22	3345			3345
10	120	5111			4567
11	120	5500			
12	1	1236		120	5001
13	120	4680			5003
14	22	4567			5111
15	120	2608			5500
					4680
					2608

 表題の通りなんですが、D、E列のように表示したいのですが出来ますでしょうか?
出来るようなものなら何でも結構です。どうぞ宜しく御願い致します。(レイビジョン)


 A列を昇順で並び替えるのではだめですか?
(ケン)


 数式&条件付書式バージョンも作りました。
http://ryusendo.no-ip.com/~ken/cgi-bin/uploader/src/0007.xls
参考までに。
(ケン)


 では私はピボットで(笑)
http://proxy.ymdb.yahoofs.jp/users/dd3a498a/bc/%a5%de%a5%a4%a5%c9%a5%ad%a5%e5%a5%e1%a5%f3%a5%c8/pivot.xls?bcRkQqCBw3wMENVd
 (代奈)
 ※昇順に並べ替えられてしまいますが、ご参考ということで。


皆様有難うございます
 説明不足ですいません
昇順ではなく、この順番どおりにしたいんです
(ケン)様有難うございます
自分には配列数式難しくって、、、
頑張って勉強します(もっとも自分には理解不可能です)  (レイビジョン)

 お邪魔します。m(._.)m ペコッ
常連様におかれましては「またか」とお思いでしょうが、、(;^_^A あせあせ・・・
例によっていつものやつです。。。ではでは、、
Option Explicit
Sub てすと()
Dim MyDic As Object
Dim MyA As Variant, MyAry() As Variant, x As Variant
Dim i As Long, j As Long, n As Long, k As Long
Dim MyFlag As Boolean
Set MyDic = CreateObject("Scripting.Dictionary")
With Worksheets("Sheet1")
    MyA = .Range("A1", .Range("A65536").End(xlUp)).Resize(, 2).Value
    For i = 1 To UBound(MyA, 1)
        If Not MyDic.Exists(MyA(i, 1)) Then
            MyDic.Add MyA(i, 1), Empty
        End If
    Next
    x = MyDic.Keys
    For j = LBound(x) To UBound(x)
        For i = 1 To UBound(MyA, 1)
            If MyA(i, 1) = x(j) Then
                k = k + 1
                ReDim Preserve MyAry(1 To 2, 1 To k)
                If MyFlag = False Then
                    MyAry(1, k) = x(j)
                    MyAry(2, k) = MyA(i, 2)
                    MyFlag = True
                Else
                    MyAry(2, k) = MyA(i, 2)
                End If
            End If
        Next
        k = k + 1
        MyFlag = False
    Next
    .Range("D:E").Clear
    .Range("D1").Resize(UBound(MyAry, 2), UBound(MyAry, 1)).Value = Application.Transpose(MyAry)
End With
Erase MyA, MyAry, x
Set MyDic = Nothing
End Sub
http://ryusendo.no-ip.com/cgi-bin/upload/src/up0260.xls
(SoulMan)


SoulMan様
 自分には何がなんだがさっぱりわかりませんが
希望通りのものが出来ました
有難うございました 早速明日会社に持っていって試してみます
又質問に来るかもしれませんが宜しく御願い致します レイビジョン

コメント返信:

[ 一覧(最新更新順) ]


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