No.3
- 回答日時:
こんばんは!
表示するSheetのA列は3行ずつ結合してあるのですね。
やり方だけ・・・
↓の画像のような配置になっているとします。
Sheet1のB3セルに
=IFERROR(INDEX(Sheet2!$A$2:$A$100,SMALL(IF(INDEX(Sheet2!$A$2:$Z$100,,MATCH(INDEX($A$3:$A$100,INT((ROW(A3)/3))*3-2),Sheet2!$1:$1,0))=B$1,ROW($A$2:$A$100)-1),MOD(ROW(A3),3)+1)),"")
配列数式なのでCtrl+Shift+Enterで確定!(←必須★)し
フィルハンドルで列・行方向にコピーすると
画像のような感じになります。
※ 両シートとも行方向は100行目まで、
Sheet2の列範囲はZ列までの数式になっています。m(_ _)m
この回答へのお礼
お礼日時:2019/03/03 22:51
tom04 さん
こんばんわ!
書き方が悪くごめんなさい!
sheet1 の情報から sheet2を 抽出したいイメージです!
Aの列は結合なしです。
A3 Aさん
A4、A5は空白です。
A6 Bさん
A7、A8 空白
No.4
- 回答日時:
No.3です。
前回投稿したのとは全く逆のシート(前回の画像ではSheet2)のように表示したい!
というコトなのですね。
>Aの列は結合なしです。
>A3 Aさん
>A4、A5は空白です。
>A6 Bさん
>A7、A8 空白
これをセルを結合してある!といいます。(No.3で指摘した通りです)
セル結合すると数式を使うにしても何かと厄介です。
手っ取り早く、VBAでの一例です。
前回アップした画像の配置通りだとし、Sheet2の1行目「名前」は入力済みだとします。
標準モジュールにしてください。
Sub Sample1()
Dim i As Long, j As Long, myRow As Long
Dim lastRow As Long, lastCol As Long
Dim c As Range, r As Range, wS As Worksheet
Set wS = Worksheets("Sheet1")
With Worksheets("Sheet2")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
lastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
If lastRow > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow, lastCol)).ClearContents
End If
wS.Range("A:A").UnMerge
For i = 3 To wS.Cells(Rows.Count, "A").End(xlUp).Row + 2
If wS.Cells(i, "A") = "" Then
wS.Cells(i, "A") = wS.Cells(i - 1, "A")
End If
Next i
For j = 2 To wS.Cells(1, Columns.Count).End(xlToLeft).Column
For i = 3 To wS.Cells(Rows.Count, "A").End(xlUp).Row
If wS.Cells(i, j) <> "" Then
Set r = .Rows(1).Find(what:=wS.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
Set c = .Range("A:A").Find(what:=wS.Cells(i, j), LookIn:=xlValues, lookat:=xlWhole)
If c Is Nothing Then
myRow = .Cells(Rows.Count, "A").End(xlUp).Row + 1
Else
myRow = c.Row
End If
.Cells(myRow, "A") = wS.Cells(i, j)
.Cells(myRow, r.Column) = wS.Cells(1, j)
End If
Next i
Next j
Application.DisplayAlerts = False
For i = 3 To wS.Cells(Rows.Count, "A").End(xlUp).Row Step 3
wS.Cells(i, "A").Resize(3).Merge
Next i
Application.DisplayAlerts = True
End With
End Sub
※ とりあえずは前回アップした画像のSheet2のような感じになります。m(_ _)m
No.5
- 回答日時:
何度もごめんなさい。
画像をよく見ると結合ではなく、3行毎にデータ(氏名)が入っているのですね。
いずれにしても、A列に空白があるとかなり面倒なので、
A列に空白がないようにすべての行に氏名がある方がその行のA列を参照できます。
前回のコードは最後に3行ずつセル結合していますので、
>Application.DisplayAlerts = True
の次に
>wS.Range("A:A").UnMerge
を追加してください。m(_ _)m
No.6ベストアンサー
- 回答日時:
こんにちは
予定表(03/03 18:08投稿)から、出力表(03/03 18:06投稿)を作成したいってことですよね?
予定表のシート名をSheet1と仮定し、出力表のレイアウトがご提示の通り20行目から始まり、(列方向が不明ですが)A列に地名、B20:D20に人名が入力されているものと仮定します。
B21セルに
=IFERROR(1/(1/MIN(IF(OFFSET(Sheet1!$A$1,MATCH(B$20,Sheet1!$A$1:$A$100,0)-1,1,3,100)=$A21,Sheet1!$B$1:$CW$1))),"")
の式を入力して、Ctr + Shift + Enterで確定します。(←必須です)
その上で、右、下方向にフィルコピーではいかがでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- Excel(エクセル) エクセルの関数を教えてください。② 9 2023/05/25 15:28
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) エクセルのデータの抽出について 3 2022/09/15 23:56
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- Excel(エクセル) エクセルの設定一覧のようなものは出力できますか? 同じエクセルのファイルを開いた時にチームのメンバー 2 2023/02/16 16:45
- Excel(エクセル) マクロ削除再抽出する方法を教えて下さい。 6 2022/11/26 11:03
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
お恥ずかしい!
添付小さすぎました!!
すいません!
どうやったら見れるのか・・・
予定表 B C D E F G H I(空白列) J 3/8
1 3/1 3/2 3/3
2 月 火 水
3 Aさん 東京1 東京1 神奈川
4 東京2 東京2
5
6 Bさん 神奈川 神奈川 東京1
7 東京2
8
9 Cさん 千葉 千葉 千葉
10
11
別のシート
Aさんが 各場所 "東京1"などに最初に行った日を抽出
"東京1"も できれば自動で抽出
Aさん Bさん Cさん
東京1 3/1 3/3
東京2 3/1 3/3
神奈川 3/3 3/1
千葉 3/1
予定表