エクセルで表を作成しました。
B2=IF(B8="",B7,"")
B3=IF(B8="★",B9,"")
B4=IF(B8="★",B10,"")
と入力しております。
これを、空白の列を削除して左に詰めたいのですがマクロなど検索してみましたが
関数が既に入力されている場合はできないようです。
また、検索から空白のセルなどもやってみましたが関数のためできないようです。
上記の関数に何をつければ、一発で表示できますでしょうか?
最終表示は→の右側状態にしたいです。
また行を削除でなく列を削除ということでなおさらわからなくなりました。
別シートまたは違うセルに表示させる方法でない関数を教えて頂けるとありがたいです。
お手数をおかけしますがどなたか知恵をおかしください。
No.5
- 回答日時:
こんばんは!
>行を削除でなく列を削除ということで・・・
画像の配置だと、「★」の列も削除されますが、それでも良いのでしょうか?
VBAになりますが一例です。
Sub Sample1()
Dim j As Long, myRng As Range
For j = 2 To Cells(2, Columns.Count).End(xlToLeft).Column
If Cells(2, j) = "" Then
If myRng Is Nothing Then
Set myRng = Cells(2, j)
Else
Set myRng = Union(myRng, Cells(2, j))
End If
End If
Next j
If Not myRng Is Nothing Then
myRng.EntireColumn.Select '//★//
End If
End Sub
※ とりあえず「選択」でやめています。
削除してよいのであれば「★」の行を
myRng.EntireColumn.Delete
に変更してみてください。m(_ _)m
No.4
- 回答日時:
こんにちは
>B2=IF(B8="",B7,"")
>B3=IF(B8="★",B9,"")
>B4=IF(B8="★",B10,"")
>と入力しております。
この式の通りに入れると、ご提示の図(←よく見えないけれど)のようになるとは思えないので、勝手に想定しました。
B2に以下の関数式を入れ、
=IFERROR(INDEX(OFFSET($A$7:$G$7,ROW()-IF(ROW()>2,1,2),0),SMALL(IF($B$8:$G$8="",COLUMN($B$8:$G$8)),COLUMN(A1))),"")
配列数式なので、Ctr + Shft + Enter で確定。
これを下、右方向にコピーフィル
以上で、できるのではないかと思います。
※ #1様も指摘してらっしゃいますが、不必要に関連を複雑にしているので、式も複雑になります。
※ 何らかの修正が必要になった際に自力でできるように、内容を把握しておいてください。
No.3
- 回答日時:
>検索から空白のセルなどもやってみましたが関数のためできないようです。
表をコピー→値貼り付けしてから表を範囲選択した状態で、検索で空白(何も入れない)を探せばいいのでは?全て検索で下に出てきているリストを全部選択したら空白セルだけ選択されるので右クリック→削除→左方向にシフトでできませんか?
というか、まず書かれている通りに式を入れると名前と数値がバラバラになるのが気になるし(多分B3とB4の式の真と偽が逆?)、もう少し言葉でも説明してもらえますか?
No.2
- 回答日時:
もちろんマクロ(VBA)なら出来ますが、絵を見る限り7~10行目にデータがありますよね、ここはいじってはいけないのですよね。
それですと対象エリアを何だかの形で指定しないと出来ません。どのように指定するつもりですか?以下から選択してください。① A2:G4 を選択状態にしてマクロを実行する。
② マクロの中に範囲を組み込む
③ その他(詳しく説明してください)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセル 空白を除き左に詰めたいのですが・・・
Windows 8
-
エクセル 値の入ったセルを左に寄せる
Excel(エクセル)
-
excelで、空白を除いてデータを抽出する方法について
Excel(エクセル)
-
-
4
特定のセルが空白だったら、その行を非表示にしたい。。。
Visual Basic(VBA)
-
5
VBAで指定範囲内の空白セルを左詰めで一括削除したいのですが
Visual Basic(VBA)
-
6
エクセルで横並びの複数データを縦の一本のデータにしたい
Excel(エクセル)
-
7
エクセルの空白を詰めて別シートに表示
その他(Microsoft Office)
-
8
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
9
エクセルでセルを一括で右詰にする方法はありますか?
その他(Microsoft Office)
-
10
EXCEL:ゼロ以外のデータを詰めて抽出する方法
Excel(エクセル)
-
11
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
12
【VBA】全て空白のセルの列の非表示
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
申し訳ありません。ご指摘があったとおり
B2=IF(B8="",B7,"")
B3=IF(B8="★","",B9)
B4=IF(B8="★","",B10)
です。
すみませんでした。