エクセルの 列のデータの内容が変わったら、次の列に表示できるようにした
エクセルの 列のデータの内容が変わったら、次の列に表示できるようにしたい。
すみません、説明すると難しいのですが。
したいことの例を下にかいてみます。
例)
↓こんなデータがあります。
A列 B列
○○銀行 ××支店
○○銀行 △△支店
○○銀行 □□支店
▽▽銀行 ■■支店
▽▽銀行 ●●支店
↓こうしたい。
A列 B列
○○銀行 ▽▽銀行
××支店 ■■支店
△△支店 ●●支店
□□支店
※ 本当のデータは1000件以上あります。
いろいろインターネットでも調べてみましたが、わからなく。
もしいい案がある方は教えていただきたいんです。
できれば、関数で出来たらいいと思うんですが、
マクロしかできないのであれば、マクロでどうしたらいいのかも教えていただきたいんです。
マクロも人のを真似して使用できる程度の力しかありません。
でも本当に困っています。
すみませんが、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
sheet1に元データがあるとして
sheet2へ出力します
sheet1の元データはA列(銀行名)でソートしておくこと
Sub test()
Dim i As Long, j As Long
Dim vDATA As Variant
j = 1
With Worksheets("sheet1")
vDATA = .Range("a1", .Cells(Rows.Count, 2).End(xlUp))
End With
With Worksheets("sheet2")
For i = 1 To UBound(vDATA)
If i = 1 Then
.Cells(1, 1).Value = vDATA(1, 1)
.Cells(2, 1).Value = vDATA(1, 2)
ElseIf .Cells(1, j).Value = vDATA(i, 1) Then
.Cells(Rows.Count, j).End(xlUp).Offset(1).Value = vDATA(i, 2)
Else
j = j + 1
.Cells(1, j).Value = vDATA(i, 1)
.Cells(2, j).Value = vDATA(i, 2)
End If
Next i
End With
End Sub
参考まで
ありがとうございます!!
マクロを張り付けてみたら、まさにやりたいとおりにできました!
今回はこのマクロを使用することにしました。
もし今後に変更のあったときのために
今はこのマクロが何しているのか読んでいる最中です。
とても勉強になりました。ありがとうございます。
また何かわからないことがあれば力をお貸しくださるとうれしいです。
No.4
- 回答日時:
こんばんは!
参考になるかどうか判りませんが・・・
↓の画像で説明させていただきます。
Sheet1のデータをSheet2に表示させています。
Sheet1に作業用の列を2列設けています。
作業列C2セルに
=IF(COUNTIF($A$2:A2,A2)=1,ROW(A1)*1000+COLUMN(A1),"")
という数式を入れ、列方向と行方向にオートフィルでずぃ~~~!っとコピーします。
そして、Sheet2のA2セルに
=IF(ROUNDUP(COUNT(Sheet1!$C$2:$D$1000)/2,0)<ROW(A1),"",INDEX(Sheet1!$A$2:$B$1000,INT(SMALL(Sheet1!$C$2:$D$1000,ROW(A1))/1000),MOD(SMALL(Sheet1!$C$2:$D$1000,ROW(A1)),1000)))
B2セルに
=IF(ROUNDDOWN(COUNT(Sheet1!$C$2:$D$1000)/2,0)<ROW(A1),"",INDEX(Sheet1!$A$2:$B$1000,INT(SMALL(Sheet1!$C$2:$D$1000,ROW(A1)+COUNTIF($A$2:$A$1000,"?*"))/1000),MOD(SMALL(Sheet1!$C$2:$D$1000,ROW(A1)+COUNTIF($A$2:$A$1000,"?*")),1000)))
という数式を入れA2・B2セルを範囲指定し、B2セルのフィルハンドルで下へコピーすると
画像のような感じになります。
以上、参考になれば幸いですが
的外れなら読み流してくださいね。
※ 余談になりますが、
実はこの数式の中で「数式は入っていて空白セルをカウントしない場合」の関数で悩んでいましたが、
他の回答の中の「KURUMITOさま」の回答が大変参考になりました。
数式の中にその回答方法も利用させていただいています。
私も他の方の回答を参考に色々勉強させてもらっています。
この場を借りてお礼申し上げます。
どうも失礼しました。m(__)m
おお!画像付きで、詳しくありがとうございます!
今は家ですので、職場で試させていただきたいと思います!
本当にみなさんがいろいろ意見いただけるので、私もいつも勉強しています^^
お礼が遅くなってもと思ったので、まだ実行していませんが書かせていただきました。
本当にありがとうございます!
No.3
- 回答日時:
一例です。
Sheet1のデータをsheet2に並び替えします。
(1)sheet1のA列を選択→データ→フィルタ→フィルタオプションの設定→抽出先は選択範囲内を選択、重複するレコードは無視するを選択→OK
(2)抽出されたA列のA2:Axx範囲をコピー→sheet2のA1を選択、右クリックで形式を選択して貼り付け→行列を入れ替えるを選択→OK
(3)Sheet2のA2に=IF(COUNTIF(Sheet1!$A:$A,A$1)>=ROW(A1),INDEX(Sheet1!$B:$B,SMALL(IF(Sheet1!$A$1:$A$2000=A$1,ROW(Sheet1!$A$1:$A$2000),9999),ROW(A1))),"")を入力、入力完了時にshift+ctrl+enterキーを同時押下
(4)A2のセルを縦横に必要分コピー
書かれている通りに、操作してみたらできました!!
やり方もいろいろあるんですね><
自分の力の無さが…、とても勉強になりました!
ありがとうございます!
No.2
- 回答日時:
Sheet1
A B
1 ○○銀行 ××支店
2 ○○銀行 △△支店
3 ○○銀行 □□支店
4 ▽▽銀行 ■■支店
5 ▽▽銀行 ●●支店
6 ◇◇銀行 ◆◆支店
7 ☆☆銀行 ▼▼支店
8 ☆☆銀行 ◎◎本店
9 ☆☆銀行 ▲▲支店
10 ☆☆銀行 ★★支店
Sheet2
A B C D
1 ○○銀行 ▽▽銀行 ◇◇銀行 ☆☆銀行
2 ××支店 ■■支店 ◆◆支店 ▼▼支店
3 △△支店 ●●支店 ◎◎本店
4 □□支店 ▲▲支店
5 ★★支店
Sheet2 において、
1.セル A2 に次の[条件付き書式]を設定
数式が =ISERROR(A2)
フォント色 白
2.セル A2 に次の配列数式を入力して、此れを右方および下方にズズ
ーッとドラッグ&ペースト
{=INDEX(Sheet1!$B$1:$B$19,SMALL(IF((Sheet1!$A$1:$A$20=A$1)*(ROW(A$1:A$20)),(Sheet1!$A$1:$A$20=A$1)*(ROW(A$1:A$20)),""),ROW(A1)))}
ありがとうございます!
この通りに張り付けてみたつもりですが、「#~」のエラーがでてしまいました。
私のやり方がうまくいかなかったのかもしれません。
こういうやり方もあることが知れました!
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルで1行の長いデータを指定の桁数で分割する方法が知りたいです。 4 2022/05/20 21:55
- Visual Basic(VBA) ユーザーフォームで銀行に対応した支店コードの入力ができません Sheet1のA列に銀行名、B列に銀行 5 2022/07/28 17:50
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- その他(Microsoft Office) エクセルの関数について 4 2022/07/30 16:42
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- 銀行・ネットバンキング・信用金庫 ゆうちょ銀行に口座を持つ方、ゆうちょ銀行に詳しい方に聞きます。 9 2023/08/03 20:24
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) エクセルのデータ整形について 3 2022/11/12 00:27
- Visual Basic(VBA) VBAで大量データの処理 3 2022/11/15 21:53
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Officeを開くたびの「再起動メ...
-
一太郎でカーソルを次の行の先...
-
大学のレポート A4で1枚レポー...
-
複数の写真を1枚に印刷
-
Microsoft365搭載Windows11PCへ...
-
エクセルでXLOOKUP関数...
-
エクセルやワードを無料で使え...
-
英数字のみ全角から半角に変換
-
Microsoft365で写真をアルバム...
-
VBA CSV出力について
-
Windows 11で、IME言語バー(IM...
-
windows10で作業を終了する際の...
-
現在、PC2台でMicrosoft 365 Pe...
-
Office 2021 Professional Plus...
-
teams設定教えて下さい。 ①ビデ...
-
会社におけるOfficeライセンス...
-
VLOOKUP関数について
-
Excel テーブル内の空白行の削除
-
マイクロソフト 一時使用コード...
-
outlookで宛先が異なるメールを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
「生産性ソフトウェア」とは何...
-
会社PCのメールが更新されない
-
【関数】○年○ヶ月と表示された...
-
WEBの記事を印刷する際にA...
-
エクセルでXLOOKUP関数...
-
Microsoft familyに追加されま...
-
会社のOutlookにてメールを予約...
-
Microsoft Formsの「個人情報や...
-
Microsoft365の一部を解約したい
-
マクロ自動コピペ 貼り付ける場...
-
Outlook で宛先が複数の場合の人数
-
outlookのメールが固まってしま...
-
【Excel VBA】PDFを作成して,...
-
大学のレポート A4で1枚レポー...
-
office365って抵抗感ないですか?
-
Microsoftにofficeアプリについ...
-
Excel テーブル内の空白行の削除
-
マイクロソフト 一時使用コード...
おすすめ情報