advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 13161 for 日付 (0.003 sec.)
[[20130530084802]]
#score: 2423
@digest: 60e3b318472886b597d6c1c6a97d7048
@id: 62509
@mdate: 2013-05-30T05:28:40Z
@size: 4884
@type: text/plain
#keywords: 付色 (102891), 色日 (65067), 黄b (26361), 青5 (21197), 色a (20029), 氏9 (18928), 緑8 (17974), 緑1 (15535), 赤8 (15468), 氏4 (15337), 氏5 (14961), 桃9 (14426), 日桃 (13911), 日緑 (13814), 日黄 (13814), 日白 (13625), 氏1 (12838), 赤5 (11574), 日赤 (10539), 日青 (9020), 白4 (8733), 括転 (8523), 名日 (7525), msh (6388), 至急 (6264), tsh (5237), 付順 (4779), 人名 (4465), 黄3 (4213), 正11 (3878), currentregion (2368), 月17 (2350)
『複数列の一括入れ替え方法(至急) 』(ちゃーーこ) 下記のような一覧表で、 (それぞれの人が、その日付に何色を選んだか…のリストです。1行目が項目名) なんらかの作業をして(なるべく簡単な)一括で、人名ごとに、左から日付順に並び替え&入れ替えを行いたいのですが、方法を教えてください。 人名 日付日付日付 色 A氏 5/30 緑 1/16 赤 8/12 黄 B氏 9/17 白 4/15 青 5/22 桃 ↓ この表を一括で ↓ 人名 日付日付日付 色 A氏 1/16 赤 5/30 緑 8/12 黄 B氏 4/15 青 5/22 桃 9/17 白 こうなるように左から日付順になるように 並び替え?入れ替え?を行いたいです。 Excel2003 WindowsXPです。 宜しくお願い致します。 ---- A B C D E F G 1 人名 日付日付日付 色 2 A氏 5月30日 緑 1月16日 赤 8月12日 黄 3 B氏 9月17日 白 4月15日 青 5月22日 桃 4 5 6 7 8 A氏 1月16日 赤 5月30日 緑 8月12日 黄 9 B氏 4月15日 青 5月22日 桃 9月17日 白 10 A8 =A2 B8 =IF(B2="","",SMALL(2:2,COLUMN(B1)/2)) C8 =IF(B8="","",INDEX(2:2,MATCH(B8,2:2,0)+1)) B8:C8 右へコピー。 8行目 下にコピー。 8行目以下を元の票に値貼り付け ※同一行に同じ日付があるとNG (GobGob) ---- [[20121101111347]] 『配列の一括転記について』(まみー) 1)範囲そのものを変換 Sub test() With Cells(1).CurrentRegion .Value = Application.Index(.Value, Evaluate("row(1:" & .Rows.Count & ")"), Array(1, 4, 5, 2, 3, 6, 7)) End With End Sub 2)範囲の下に変換したければ Sub test2() With Cells(1).CurrentRegion .Offset(.Rows.Count + 2).Value = _ Application.Index(.Value, Evaluate("row(1:" & .Rows.Count & ")"), Array(1, 4, 5, 2, 3, 6, 7)) End With End Sub (seiya) Array のIndexを修正 11:03 ---- こんにちは 配列の一括転記では対応出来ないケースのような気がします。 Sub test() Dim mSh As Worksheet Dim tSh As Worksheet Dim h As String Set mSh = Worksheets("Sheet1") '修正元シート名 Set tSh = Worksheets("Sheet2") '一時使用シート名 With mSh h = .Range("A1").CurrentRegion.Rows(2).Address(0, 1, xlA1, True) .Range("A1").CurrentRegion.Copy tSh.Range("A1") With tSh.Range("A1").CurrentRegion With .Offset(1, 1).Resize(.Rows.Count - 1, .Columns.Count - 1) .Formula = _ "=IF(" & mSh.Name & "!B2="""",""""," & _ "IF(MOD(COLUMN(" & mSh.Name & "!B2),2)=0," & _ "SMALL(" & h & ",INT(COLUMN(" & mSh.Name & "!B2)/2))," & _ "OFFSET(" & mSh.Name & "!$A2,0,MATCH(A2," & h & ",0))))" End With End With .Range("A1").CurrentRegion.Value = tSh.Range("A1").CurrentRegion.Value End With tSh.Range("A1").CurrentRegion.ClearContents End Sub (ウッシ) ---- > 配列の一括転記では対応出来ないケースのような気がします。 出来てるよ? (seiya) ---- こんにちは 人名 日付日付日付 色 A氏 5/30 緑 1/16 赤 8/12 黄 B氏 9/17 白 4/15 青 5/22 桃 ↓ 人名 日付日付日付 色 A氏 1/16 赤 5/30 緑 8/12 黄 B氏 4/15 青 9/17 白 5/22 桃 B氏の並びが日付順になってないと思います。 違うかな・・・ (ウッシ) ---- ああ.. >日付順 これ見逃し... (seiya) ---- これかな? Sub test() Dim a, i As Long, ii As Long, t As Long, e, w With Cells(1).CurrentRegion a = .Value With CreateObject("System.Collections.SortedList") For i = 2 To UBound(a, 1) For ii = 2 To UBound(a, 2) Step 2 If Not .Contains(a(i, ii)) Then ReDim w(1 To 1) Else w = .Item(a(i, ii)) ReDim Preserve w(1 To UBound(w) + 1) End If w(UBound(w)) = a(i, ii + 1) .Item(a(i, ii)) = w Next t = 1 For ii = 0 To .Count - 1 For Each e In .GetByIndex(ii) t = t + 1 a(i, t) = .GetKey(ii) t = t + 1 a(i, t) = e Next Next .Clear Next End With .Value = a End With End Sub (seiya) ---- http://excelfactory.net/excelboard/exgeneral/excel.cgi?mode=all&namber=117271&rev=0 40分返事が無いだけで「至急」なんて描き足してマルチポストしてる割には全く返事無しとは全然「至急」ではないようだな。 (マルチーズ) ---- 掲示板の使い方が分からずに、ご迷惑おかけしました。 すいませんでした。 夕方までに知りたかったので、「至急」と書いてしましました。 皆さん、回答ありがとうございました。 seiyaさんの教えてくださったやり方で出来ました。 本当に本当に助かりました。 感謝です。 (ちゃーーこ) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201305/20130530084802.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97017 documents and 608140 words.

訪問者:カウンタValid HTML 4.01 Transitional