![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
こんにちは
表中の値の入っているセルのみをピックアップするものと解釈しました。
(空白セルに見えるところは、実際にも空白であるものと仮定しています)
マクロでもできると思いますが、以下は関数での例です。
範囲が広いようなので、添付画面の都合上、列方向を縮めて機種は3種類にしてあります。
一応の対象範囲にしてある「$B$2:D$D1000」を修正することで、適用範囲は変更可能です。
(範囲の列数は100程度(=3桁以下)であるものと仮定しています)
添付図では、並び替え後をG:I列に表示していますが、実際には別シートになるのかも知れませんね。
※ 関数で並び替えていますので、固定値にしたい場合はG:I列を選択しコピー、値をペーストすれば固定値にすることができます。
※ 対象範囲が広いと、全部を計算するのに若干の時間がかかるかもしれません。
添付図では、G2:I2にそれぞれ以下の式を入れて、下方にフィルコピーしてあります。
G2の式
=IFERROR(INDEX($1:$1,INT(AGGREGATE(15,6,ROW($B$2:$D$1000)+COLUMN($B$2:$D$1000)*1000/($B$2:$D$1000<>""),ROW(A1))/1000)),"")
H2の式
=IFERROR(INDEX($A:$A,MOD(AGGREGATE(15,6,ROW($B$2:$D$1000)+COLUMN($B$2:$D$1000)*1000/($B$2:$D$1000<>""),ROW(A1)),1000)),"")
I2の式
=IFERROR(OFFSET($A$1,MOD(AGGREGATE(15,6,ROW($B$2:$D$1000)+COLUMN($B$2:$D$1000)*1000/($B$2:$D$1000<>""),ROW(A1)),1000)-1,INT(AGGREGATE(15,6,ROW($B$2:$D$1000)+COLUMN($B$2:$D$1000)*1000/($B$2:$D$1000<>""),ROW(A1))/1000)-1),"")
![「エクセル 表の変換」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/3/587726_6188c518874b2/M.png)
No.3
- 回答日時:
VBA で ADO を使用した例です。
Sub Sample_01()
Const SH_BEFORE = "変換前"
Dim dbCon As Object
Dim dbRst As Object
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim strSQL As String
Dim fld As String
Dim tbl As String
Dim CCnt As Long
Dim i As Long
'出力用シートを準備
Set ws1 = Worksheets(SH_BEFORE)
Worksheets.Add After:=ws1
On Error Resume Next
ActiveSheet.Name = "変換後"
On Error GoTo 0
Range("A1:C1").Value = Split("機種,番号,数量", ",")
Set ws2 = ActiveSheet
' Connection生成
Set dbCon = CreateObject("ADODB.Connection")
Set dbRst = CreateObject("ADODB.Recordset")
With dbCon
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Properties("Extended Properties") = "Excel 12.0"
.Open ThisWorkbook.FullName
End With
CCnt = ws1.Cells(1, Columns.Count).End(xlToLeft).Column
tbl = "[" & SH_BEFORE & "$]"
For i = 2 To CCnt
' SQL文作成
fld = ws1.Cells(1, i)
strSQL = "SELECT '" & fld & "' as 機種, [番号],[" & fld & "] FROM " & tbl & _
" Where " & tbl & ".[" & fld & "] Is Not Null "
' Recordset を開く
dbRst.Open strSQL, dbCon, 0, 3 ' adOpenForwardOnly, adLockOptimistic
' 変換後 に貼り付け
ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1).CopyFromRecordset dbRst
dbRst.Close
Next
Set dbRst = Nothing
dbCon.Close: Set dbCon = Nothing
End Sub
No.1
- 回答日時:
こんにちは。
フィルターで、抽出後にコピーされては、どうでしょうか?
フィルターを掛けて、機種Aで、空白以外を選択。
結果を、番号から機種Aまでをコピーして、別シートへ貼り付け。
機種Aの右側の空欄に、先頭から最後まで範囲を選んで、機種Aと入力。
入力状態のままCtrl + Enterで一括入力。
番号と、数字、機種Aという感じにできるかと。
上記と同じ様に、機種Bで、空白以外。にして、番号から機種Bまでを
コピーして、別シートへ貼り付け。機種Aの列を削除。
後は、列を変換後の順に変更すれば、どうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- au(KDDI) 機種変更について。 今現在、auのスマホを使っているのですが、ヤフーモバイル?ってのが安くて番号を変 2 2023/01/19 19:54
- 格安スマホ・SIMフリースマホ 至急で聞きたいです。今AUでUQに乗り換えます。ここまでは確定です。そこに楽天モバイルをデュアルSI 2 2022/03/26 16:37
- 格安スマホ・SIMフリースマホ オンラインで機種変更したんですけど(番号は変えてない)前の機種はUsimカードを新しい機種に入れた瞬 2 2023/04/08 20:20
- 格安スマホ・SIMフリースマホ スマホの乗り換え、機種変更について。 初めて1人で契約会社を乗り換える予定です。乗り換えるのと同時に 3 2023/03/23 08:08
- OCNモバイルONE 【OCNモバイルONE】現在の携帯電話通信キャリアがOCNモバイルONEで新しいスマホ 6 2022/12/20 12:46
- au(KDDI) iPhone 12 pro(au povo) から iPhone14(買い換えるならPro) に機種 7 2022/09/08 19:53
- SoftBank(ソフトバンク) 携帯 機種変更 データや電話番号 について 機種変更したあとも、その新しい機種はWiFiでのみの使用 2 2022/11/09 22:26
- iPhone(アイフォーン) スマートフォンの機種変更 今、使ってるシャープのAQUOS Phoneから新しいAQUOS Phon 3 2022/06/17 16:20
- OCNモバイルONE 今iPhoneX使ってて約3〜4年たちます新しく機種変したら機種代かかるし皆んななら新しく機種変する 1 2023/06/14 11:11
- SoftBank(ソフトバンク) 機種変更についてです。 現在ソフトバンクでiPhone12pro256GBを無制限プランで使っていま 4 2023/05/13 14:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Officeを開くたびの「再起動メ...
-
英数字のみ全角から半角に変換
-
マイクロソフト 一時使用コード...
-
マクロの書き方を教えて下さい
-
outlookのメールが固まってしま...
-
大学のレポート A4で1枚レポー...
-
エクセルでXLOOKUP関数...
-
会社PCのメールが更新されない
-
【Excel VBA】PDFを作成して,...
-
excelの画面のグリッド線の消滅。
-
teams設定教えて下さい。 ①ビデ...
-
Microsoft Formsの「個人情報や...
-
PCを買い換えました。 今使って...
-
エクセルで英文字に入れた下線...
-
Office 2021 Professional Plus...
-
会社のTeamsのことで相談です。...
-
【Excel】セル内の文字が正しい...
-
みつも朗ってソフトはなにがで...
-
マクロ1があります。 A1のセル...
-
Outlook 電源OFFの受診の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
「生産性ソフトウェア」とは何...
-
会社PCのメールが更新されない
-
【関数】○年○ヶ月と表示された...
-
WEBの記事を印刷する際にA...
-
エクセルでXLOOKUP関数...
-
Microsoft familyに追加されま...
-
会社のOutlookにてメールを予約...
-
Microsoft Formsの「個人情報や...
-
Microsoft365の一部を解約したい
-
マクロ自動コピペ 貼り付ける場...
-
Outlook で宛先が複数の場合の人数
-
outlookのメールが固まってしま...
-
【Excel VBA】PDFを作成して,...
-
大学のレポート A4で1枚レポー...
-
office365って抵抗感ないですか?
-
Microsoftにofficeアプリについ...
-
Excel テーブル内の空白行の削除
-
マイクロソフト 一時使用コード...
おすすめ情報