No.4ベストアンサー
- 回答日時:
No.1です。
VBA向きの質問内容になりますね。
VBAの方法はすでに回答済みですので、あえて関数でやってみました。
↓の画像のように元データSheetに作業用の列を2列設けます。
作業列1のH3セルに
=IF(COUNTIF(B$3:B3,B3)=1,ROW(),"")
作業列2のI2セルに
=IF(COUNTA(D3:G3),B3&INDEX(D$2:G$2,SUMPRODUCT((D3:G3<>"")*COLUMN(A1:D1))),"")
という数式を入れ、H2・I2セルを範囲指定 → I2セルのフィルハンドルで下へずぃ~~~!っとコピーしておきます。
そしてSheet2のA2セルに
=IFERROR(INDEX(Sheet1!B:B,SMALL(Sheet1!$H:$H,ROW(A1))),"")
という数式を入れ隣のB2セルまでフィル&コピー!
C2セルに
=IFERROR(INDEX(Sheet1!$D:$G,MATCH($A2&C$1,Sheet1!$I:$I,0),MATCH(C$1,Sheet1!$D$2:$G$2,0)),"")
という数式を入れF2セルまでフィル&コピー!
A2~F2セルが選択されている状態でF2セルのフィルハンドルで下へコピー!
これで画像のような感じになります。m(_ _)m
No.3
- 回答日時:
#2です
実行もしていないのですね
Samp1 は、新規シートに出力していましたが、
その場で上書きするようにしてみました
Public Sub Samp2()
Dim vA As Variant
Dim i As Long, j As Long, k As Long
With Range("B2").CurrentRegion
vA = .Value
k = 1
For i = 2 To UBound(vA)
If (vA(i, 1) <> vA(k, 1)) Then
k = k + 1
If (k <> i) Then
vA(k, 1) = vA(i, 1)
vA(k, 2) = vA(i, 2)
For j = 3 To UBound(vA, 2)
vA(k, j) = ""
Next
End If
End If
For j = 3 To UBound(vA, 2)
If (vA(i, j) <> "") Then vA(k, j) = vA(i, j)
Next
Next
Application.ScreenUpdating = False
.Borders.LineStyle = xlNone
.ClearContents
With .Resize(k, UBound(vA, 2))
.Value = vA
.Borders.LineStyle = xlContinuous
End With
Application.ScreenUpdating = True
End With
End Sub
No.2
- 回答日時:
以下でどうなりますか
Public Sub Samp1()
Dim vA As Variant
Dim i As Long, j As Long, k As Long
vA = Range("B2").CurrentRegion.Value
k = 1
For i = 2 To UBound(vA)
If (vA(i, 1) <> vA(k, 1)) Then
k = k + 1
If (k <> i) Then
vA(k, 1) = vA(i, 1)
vA(k, 2) = vA(i, 2)
For j = 3 To UBound(vA, 2)
vA(k, j) = ""
Next
End If
End If
For j = 3 To UBound(vA, 2)
If (vA(i, j) <> "") Then vA(k, j) = vA(i, j)
Next
Next
Application.ScreenUpdating = False
With Worksheets.Add
With .Range("B2").Resize(k, UBound(vA, 2))
.Value = vA
.Columns(3).Resize(, .Columns.Count - 2) _
.HorizontalAlignment = xlCenter
.Rows(1).HorizontalAlignment = xlCenter
.Borders.LineStyle = xlContinuous
End With
End With
Application.ScreenUpdating = True
End Sub
No.1
- 回答日時:
こんにちは!
「◎」の行だけ表示すればよいのですね?
一例です。
↓の画像のように元データはSheet1にあり、Sheet2のA1セルに「支店名」を入力すると
表示されるようにします。
画像ではSheet2のA4セルに
=IFERROR(INDEX(Sheet1!B$1:B$1000,SMALL(IF(OFFSET(Sheet1!$C$1:$C$1000,,MATCH($A$1,Sheet1!$D$2:$G$2,0))="◎",ROW(A$1:A$1000)),ROW(A1))),"")
配列数式になりますので、Ctrl+Shift+Enterで確定!
A4セルのフィルハンドルで右へ・下へコピーすると
画像のような感じになります。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルデーターの並び替え 5 2022/08/06 09:59
- その他(Microsoft Office) エクセルの関数について 4 2022/07/30 16:42
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- au(KDDI) auStyleの来店予約をする時に、iPhone14の商品予約もしました。昨日予約したのですが、連絡 1 2022/12/19 20:45
- 専門店・ホームセンター YouTubeで見たクレーマー動画についてみなさんの意見を聞きたいです 5 2022/05/17 17:15
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- BTOパソコン PCケースのHDD設置方法につきまして 3 2023/06/08 14:19
- その他(悩み相談・人生相談) 雑貨屋さんについて。 皆さんはオンライン派?店舗で購入派? オンラインで購入するのと店舗にて購入(在 3 2023/05/16 09:07
- その他(悩み相談・人生相談) 雑貨屋さんについて。 皆さんはオンライン派?店舗で購入派? オンラインで購入するのと店舗にて購入(在 2 2023/05/15 13:03
- メルカリ メルカリShopsを作るとメルカリで販売は楽になりますか メルカリとまったく変わりませんか? 2 2022/10/11 19:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelのセルを飛ばして入力する
-
Excelのオートフィル
-
別シートからの文字を変更
-
Excel 2019 のピボットテーブル...
-
エクセルの行の抽出について質...
-
【マクロ】エクセルにかいてあ...
-
スプレッドシート クエリ関数 1...
-
エクセルでセルに「氏名を入力...
-
MOS365 Excel Expert / Excel R...
-
excelの不要な行の削除ができな...
-
EXACT関数とIF関数の組み合わせ...
-
スプレッドシートの関数VLOOKUP...
-
Excelで全角を半角にしたいので...
-
Excel初心者です。 詳しい方、...
-
エクセルの数式で教えてください。
-
4つのパターンを表示するEXACT...
-
スマートな関数を教えて下さい。
-
【Excel】セル内の時間帯が特定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報
tom04さん、30246kikuさん、さっそくのご回答ありがとうございます。
質問の仕方が悪くてうまく伝わらなかったようです。
あまり難しい事をせずに下のような一覧表になればいいなとおもっいてます。
コード 名称 東京 大阪 広島 博多
F2029 HB鉛筆 ◎ ◎ - ◎
M2022 ノート ★ ◎ - -
F2222 サインペン ◎ ◎ ◎ ◎
A2249 消しゴム ◎ - ◎ -
質問の仕方が悪くて申し訳ありません。
platte