advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 1385 for ������������ #N/A (0.016 sec.)
[[20210617164014]]
#score: 6930
@digest: 0925264e1e1746cc428e3799aff003fd
@id: 88090
@mdate: 2021-06-18T11:20:37Z
@size: 5768
@type: text/plain
#keywords: 答| (92932), 問| (56961), 答回 (56115), 問質 (24940), 組換 (12619), 答" (10933), 終= (8928), 始= (8911), 問a6 (7748), 答a7 (7748), 答a5 (7748), 問a9 (7748), 答a8 (7748), 答a1 (7268), あ回 (7005), 問回 (6002), 力行 (5217), 回い (5166), 回あ (4830), ト__ (4542), 回答 (3354), ジ図 (3151), 引越 (2784), 質問 (1763), 則性 (1759), 大値 (1681), 横一 (1611), 別人 (1486), preserve (1442), 出力 (1342), 行= (1201), 一列 (1074)
『規則性のあるデータから任意のデータを抽出して横に並べる方法』(か)
少々質問が長くなってしまいますがどうにも困っていてお力をお借りできたらと思います。 A1質問 A2回答 A3回答 A4回答 A5質問 A6回答 A7回答 A8質問 A9回答 A10質問 というように質問1つと回答いくつかで1セット、縦に規則的に並んでいるデータがあります。 このデータを、 A1質問 回答 回答 回答 A2質問 回答 回答 というように最終的にすべて横一列に整理したくいろいろと調べたのですが効率の良いやり方がなかなか思いつきません。 マクロや関数を調べたのですが、なかなか思うようにいかないので教えていただけると幸いです・ < 使用 Excel:Office365、使用 OS:Windows10 > ---- イメージ図だけ... __|___A____|___B____|___C____|___D____|___E____|___F____|___G____|___H____|___I____|___J____|___K____|___L____ 1|質問 | 1| 1| 1001| | | | 1| 2| 3| 4| 5 2|回答 | 1| 2| 1002| | | 1|質問 |回答 |回答 |回答 | #N/A 3|回答 | 1| 3| 1003| | | 2|質問 |回答 |回答 | #N/A | #N/A 4|回答 | 1| 4| 1004| | | 3|質問 |回答 | #N/A | #N/A | #N/A 5|質問 | 2| 1| 2001| | | 4|質問 | #N/A | #N/A | #N/A | #N/A 6|回答 | 2| 2| 2002| | | | | | | | 7|回答 | 2| 3| 2003| | | | | | | | 8|質問 | 3| 1| 3001| | | | | | | | 9|回答 | 3| 2| 3002| | | | | | | | 10|質問 | 4| 1| 4001| | | | | | | | ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾この部分の情報を整備しちゃえば ↑こんな感じに数式で参照出来そうだなぁと。 (白茶) 2021/06/17(木) 17:15 ---- 白茶さん ご返信ありがとうございます。 H〜Lのように並べたのはどういった方法で行ったのですか? (a) 2021/06/18(金) 12:51 ---- 書いている間に↓へお引越しされたようですが、書いちゃったので投稿しておきます。 [[20210618121806]] 『規則性のない分類わけ』(a) >規則性のあるデータ 私の認識だと、提示のものは質問とそれに対する回答の【個数が不規則】で【順番に】並んでいるという状態に見えます。 既にねむねむさんが確認しているところではありますが、例えば↓のようにA列を見れば質問か回答の判断ができ、 【データ】シート ___A__________B_____________ 1 質問 質ああ 2 回答 回ああ 3 回答 回ああ 4 回答 回ああ 5 質問 質いい 6 回答 回いい 7 回答 回いい 8 質問 質うう 9 回答 回うう 10 質問 質ええ このうち、B列だけを 【組換】シート _____A___________ 1 質ああ 回ああ 回ああ 回ああ 2 質いい 回いい 回いい 3 質うう 回うう 4 質うう のようにしたいということであれば↓のように、それぞれのグループ?が始まる行と終わる行をしらべ、行列を入れ替えて貼り付けするという考え方もあるとおもいます。 Sub さんぷる() Dim i As Long, 始 As Long, 終 As Long, 出力行 As Long With Worksheets("データ") 出力行 = 1 For i = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row Step 1 If 始 = 0 Then 始 = i If .Cells(i, "A").Offset(1).Value <> "回答" Then 終 = i If 終 <> 0 Then .Range(.Cells(始, "B"), .Cells(終, "B")).Copy Worksheets("組換").Cells(出力行, "A").PasteSpecial Paste:=xlPasteValues, Transpose:=True 始 = 0 終 = 0 出力行 = 出力行 + 1 End If Next i End With End Sub よって興味があれば↑を【ステップ実行】して研究してみてください。 (理解していただきたいので、丸写しして完成!というのはNGとします) 尤も、「マクロや関数を調べた」と仰っているので、できれば数式で解決したいということかもれませんが・・・) なお、同じ掲示板内ではニックネームは統一されたほうがよいですよ。 別人を装って同じ説明をされてもつまらないでしょう(するほうも手間ですし・・・) (もこな2) 2021/06/18(金) 13:14 ---- こんばんは! えぇっと、、これはA列に一列ですよね??? こういう時は、配列を作っては格納、、配列を作っては、格納を繰り返します。 で、大きさがわかったら順番に取り出して整列して出力します。。。 こんな↓感じです。。。。何かの参考になれば幸いです。。。 |[A] |[B] |[C] |[D] [1]|質問|回答|回答|回答 [2]|質問|回答|回答| [3]|質問|回答| | Option Explicit Sub てすと() Dim v As Variant Dim x() As Variant Dim y() As Variant Dim z() As Variant Dim q As Variant Dim i As Long Dim j As Long Dim n As Long Dim k As Long Dim 最大値 As Long v = Sheets("Sheet1").Range("A1").CurrentRegion.Resize(, 1).Value For i = LBound(v, 1) To UBound(v, 1) If v(i, 1) = "質問" Then ReDim Preserve x(n) ReDim Preserve y(n) x(n) = v(i, 1) n = n + 1 k = 0 ElseIf v(i, 1) = "回答" Then ReDim Preserve z(k) z(k) = v(i, 1) k = k + 1 y(n - 1) = z If 最大値 < k Then 最大値 = k End If Next ReDim q(1 To n, 1 To 最大値 + 1) For i = LBound(q, 1) To UBound(q, 1) If Not IsEmpty(y(i - 1)) Then z = y(i - 1) q(i, 1) = x(i - 1) For j = LBound(z) To UBound(z) q(i, j + 2) = z(j) Next End If Next With Sheets("Sheet2") .Cells.Clear .Range("A1").Resize(UBound(q, 1), UBound(q, 2)).Value = q End With Erase v, x, y, z, q End Sub (SoulMan) 2021/06/18(金) 20:20 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/202106/20210617164014.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97021 documents and 608149 words.

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