
こんばんは。
いつも質問ばかりでごめんなさい。
ちょっとお聞きしたいのですが下記のような表があるとします。
カードの方のみの名前と金額を別のセル(または別シート)に表示させたいのですがどのようにしたらよろしいのでしょうか?
日付 名前 現金 カード
2/5 田中 12000
2/5 佐藤 18000
2/5 鈴木 32000
2/5 木村 25000
2/5 山田 22000
↓このようにしたいのですが。
カード決済
日付 名前 金額
2/5 鈴木 32000
2/5 山田 22000
お手数おかけしますがよろしくお願いいたします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
こんにちは。
こんな感じで考えてみました。
G H I
日付 名前 カード
G2:~ 必要なだけ下へドラッグコピー
=IF(COUNTA($D$1:$D$100)>ROW(A1),INDEX($A$1:$D$100,SMALL(INDEX(($D$1:$D$100<>"")*ROW($A$1:$A$100),,),ROWS($D$1:$D$100)-COUNTA($D$1:$D$100)+ROW(A1)+1),1),"")
H2:~
=IF(COUNTA($D$1:$D$100)>ROW(A1),INDEX($A$1:$D$100,SMALL(INDEX(($D$1:$D$100<>"")*ROW($A$1:$A$100),,),ROWS($D$1:$D$100)-COUNTA($D$1:$D$100)+ROW(A1)+1),2),"")
I2:~
=IF(COUNTA($D$1:$D$100)>ROW(A1),INDEX($A$1:$D$100,SMALL(INDEX(($D$1:$D$100<>"")*ROW($A$1:$A$100),,),ROWS($D$1:$D$100)-COUNTA($D$1:$D$100)+ROW(A1)+1),4),"")
範囲の変更は、置換したほうが早いですが、ROW() の中は、範囲の幅は同じでも、必ず、$A$1 からスタートしないといけません。
別のシートに移すときは、最初に、同じシートで試して、それをAlt + 範囲選択で、ドラッグして、別のシートに持っていくと良いです。ただ、あまり大きな範囲ですと、マクロのほうが軽いです。
こんにちは。
ありがとうございます。
関数の方は自分なりにいろいろ試してみたのですがどうもうまくいきませんでした。結局、質問にたよってしまいました。
いま、試してみたところうまくいきました。
いろいろと勉強になります。
これからの参考にさせていただきます。
No.4
- 回答日時:
実例を質問に書いたのは良いが、その背景の意図を文章で説明しないものだから、あいまいだ。
必ず両方あわせて説明すること。ーー
D列で数字の入った人がカード決裁者でそれだけを別シート?に抜き出す、という課題なのか?
今まで毎日関数での質問が出るが、それならエクセルは関数では苦手な課題なんだよ。
VBAで希望らしいが、VBAという言葉は質問に出てない。
VBAでなら、なんと言うこともない課題です。
最初行から最終行まで見て行って、D列が空白でなければ、Sheet2に書き出せばよい。
ーーー
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
k = 2
'--
d = sh1.Range("A65536").End(xlUp).Row
MsgBox d
For i = 2 To d
If sh1.Cells(i, "D") <> "" Then
sh2.Cells(k, "A") = sh1.Cells(i, "A")
sh2.Cells(k, "B") = sh1.Cells(i, "B")
sh2.Cells(k, "C") = sh1.Cells(i, "D")
k = k + 1
End If
Next i
End Sub
ーー
Sheet2の
第1行の見出しと
A列の日付書式設定は
手作業に残した。
ありがとうございます。
できました。
「D列で数字の入った人がカード決裁者でそれだけを別シート?に抜き出す、という課題なのか?」その通りです。
関数でもVBAでも結果が同じならどちらでも良かったのであいまいな質問になってしまって申し訳ありませんでした。
これからは気をつけます。
No.3
- 回答日時:
マクロでやるのであれば、こんな感じになると思います。
実際に検証はしていないので、動くかどうかは保証できません。
あくまでもこんな感じ、というだけです。
ただ、マクロをまったく知らない人にこれを説明するのは面倒なので、説明はしません。
マクロとしては基本的なことしかやっていないので、これをきっかけに勉強してはいかがでしょうか。
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = Worksheets("Sheet1")
Set s1 = Worksheets("Sheet2")
Dim row1 As Long, row2 As Long
row1 = 2
row2 = 2
Do Until s1.Cells(row1, 1).Value = ""
If s1.Cells(row1, 4).Value <> "" Then
s2.Cells(row2, 1) = s1.Cells(row1, 1)
s2.Cells(row2, 2) = s1.Cells(row1, 2)
s2.Cells(row2, 3) = s1.Cells(row1, 4)
row2 = row2 + 1
End If
row1 = row1 + 1
Loop
ありがとうございます。
テストしてみましたがシート2の方にうまく抜き出せなかったので、どこがいけないのか勉強させていただきます。

No.2
- 回答日時:
A B C D E F G H
1 日付 名前 現金 カード カード決済
2 2/5 田中 12000 日付 名前 金額
3 2/5 佐藤 18000 2/5 鈴木 32000
4 2/5 鈴木 32000 2/5 山田 22000
5 2/5 木村 25000
6 2/5 山田 22000
7
0.範囲 A1:D100 を選択して、[挿入]→[名前]→[作成]を実行後、“上端行”の
みにチェックを入れて[OK]をクリック
1.セル D1 をセル F1 にコピー&ペースト
2.セル F1 を“ユーザー定義”で @"決済" と書式設定
3.範囲 F3:H3 に対して次の[条件付き書式]を設定
数式が =ISERROR(F3)
フォント色 白
4.セル F3 に次の配列数式を入力して、此れをセル G3、H3 にコピー&ペースト
{=INDEX(INDIRECT(F$2),SMALL(IF(カード="","",ROW(カード)),ROW(A1))-1)}
5.セル H3 の式中の G$2 を F$1 に書き替えて、次式とする
{=INDEX(INDIRECT(F$1),SMALL(IF(カード="","",ROW(カード)),ROW(C1))-1)}
6.範囲 F3:H3 を下方にズズーッとドラッグ&ペースト
ありがとうございます。
0番の[挿入]→[名前]→[作成]を実行後、“上端行”のみにチェックを入れて[OK]をクリック」というところがエクセル2007なのですが見あたらず、1~6をやったらどうなるかと思いましたところ、全て空白ができてしまいうまくいきませんでした。
せっかく教えていただいたのにすいませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、Scroll Lockと同じ...
-
表計算ソフトでの様式の呼称
-
エクセルでフィルターした値を...
-
【画像あり】【関数】指定した...
-
エクセルシートの見出しの文字...
-
【マクロ】【画像あり】4つの...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
【マクロ】【画像あり】❶ブック...
-
【マクロ】【画像あり】ファイ...
-
エクセルに写真が貼れない(フ...
-
【関数】=EXACT(a1,b1) a1とb1...
-
Excelに貼ったXのURLのリンク...
-
【マクロ】既存ファイルの名前...
-
LibreOffice Clalc(またはエク...
-
Dir関数のDo Whileステートメン...
-
空白のはずがSUBTOTAL関数でカ...
-
【マクロ】【画像あり】4つの...
-
セルにぴったし写真を挿入
-
EXCELのVBAで複数のシートを追...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報