[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『チェックボックスを条件に、自動転記をしたい。』(ramushia)
文章で正確な説明をする自信がないので画像を作りました。
↓これをやりたいです↓
https://imgur.com/a/yVaicQS
元データは1つの日付は1行にまとまっていますが、転記する際は買った品物ごとに行を分けたいのですが、関数がわからず困っております。。。
不明点がございましたら仰ってください
どなたかよろしくお願いいたします・・・!!
< 使用 Excel:Excel2019、使用 OS:Windows11 >
>関数がわからず困っております。。。
画像見てませんが、関数?数式?
どっちにしろ数式は転機などしません
条件に合ったものを表示やセル参照しているだけです
(義丹) 2025/01/21(火) 17:34:34
↓再現図
「買い物」シート [___]|___A____|___B____|___C____|___D____|___E____|___F____|___G____| [ 1]| | | | | | 支払い方法 | [ 2]|日付 |りんご |みかん |ぶどう |バナナ |現金 |カード | [ 3]|1月1日 | 5個| | 2個| | ☑ | ☐ | [ 4]|1月4日 | 6個| 4個| | | ☐ | ☑ | [ 5]|1月6日 | | | 3個| 1個| ☑ | ☐ |
チェックボックスを条件に、シートを分けて自動転記
「支払い(現金)」シート 「支払い(カード)」シート [___]|___A____|___B____|___C____|___D____|___E____| [___]|___A____|___B____|___C____|___D____|___E____| [ 1]|日付 |品目 |個数 |単価 |計 | [ 1]|日付 |品目 |個数 |単価 |計 | [ 2]|1月1日 |りんご | 5個| | | [ 2]|1月4日 |りんご | 6個| | | [ 3]|1月1日 |ぶどう | 2個| | | [ 3]|1月4日 |みかん | 4個| | | [ 4]|1月6日 |ぶどう | 3個| | | [ 5]|1月6日 |バナナ | 1個| | |
(白茶) 2025/01/21(火) 18:17:51
imgurは、ネット最大規模のオンラインサイトで
画像共有と画像管理サービスを行っています。
こちらでも過去何度も利用されているを見かけているし
それなりに有名どころの画像共有サイトです。
ご自分が知らないからって
「得体のしれない」はイイスギ。
個人的には、テキスト形式が望ましい思いますが
こちらで紹介しているVBAでテキスト形式に変換する手間を考えると
画像で示すのが悪いことだとは思わない。
(ROMx2) 2025/01/22(水) 08:18:11
PowerQueryでやる方が簡単そうですけど、いかがでしょう (´・ω・`) 2025/01/22(水) 12:33:40
あら・・・ これ、ひょっとしてチェックボックスはフォームコントロールのヤツかも。
画像だけなので断定出来ないですが、 なんか1か所だけ微妙に横位置がズレてる気がします。(気のせいか?)
(白茶) 2025/01/22(水) 15:11:19
憶測で遊んでみたっス ^^;
With Worksheets.Add(after:=ActiveSheet) .Name = "買い物" .Range("A2:G2") = [{"日付","りんご","みかん","ぶどう","バナナ","現金","カード"}] .Range("F1") = "支払い方法" .Range("F1:G1").HorizontalAlignment = xlHAlignCenterAcrossSelection .Columns(1).NumberFormatLocal = "m月d日" .Columns("B:E").NumberFormatLocal = "0個" .Range("A3:E5") = [{45658,5,"",2,"";45661,6,4,"","";45663,"","",3,1}] Dim c As Range For Each c In .Range("F3:G5").Cells With .CheckBoxes.Add(c.Left, c.Top, c.Width, c.Height) .LinkedCell = c.Address .Caption = "" End With Next .Range("F3:G5") = [{TRUE,FALSE;FALSE,TRUE;TRUE,FALSE}] .Range("F3:G5").Font.Color = &HBFBFBF .Range("I3:L5").FormulaR1C1 = "=IF(RC6*RC[-7],ROW()*10+COLUMN(RC[-7]))" .Range("M3:P5").FormulaR1C1 = "=IF(RC7*RC[-11],ROW()*10+COLUMN(RC[-11]))" .Range("I3:P5").Font.Color = &HBFBFBF End With With Worksheets.Add(after:=ActiveSheet) .Name = "支払い(現金)" .Range("A1:E1") = [{"日付","品目","個数","単価","計"}] .Columns(1).NumberFormatLocal = "m月d日" .Columns("C").NumberFormatLocal = "0個" .Range("A2").Formula = "=INDEX(買い物!$A:$A,INT($G2/10))" .Range("B2").Formula = "=INDEX(買い物!$A$2:$E$2,MOD($G2,10))" .Range("C2").Formula = "=INDEX(買い物!$A:$E,INT($G2/10),MOD($G2,10))" .Range("G2").Formula = "=SMALL(買い物!$I:$L,ROW()-1)" .Range("G2").Font.Color = &HBFBFBF .Range("A2:G10").FillDown End With With Worksheets.Add(after:=ActiveSheet) .Name = "支払い(カード)" .Range("A1:E1") = [{"日付","品目","個数","単価","計"}] .Columns(1).NumberFormatLocal = "m月d日" .Columns("C").NumberFormatLocal = "0個" .Range("A2").Formula = "=INDEX(買い物!$A:$A,INT($G2/10))" .Range("B2").Formula = "=INDEX(買い物!$A$2:$E$2,MOD($G2,10))" .Range("C2").Formula = "=INDEX(買い物!$A:$E,INT($G2/10),MOD($G2,10))" .Range("G2").Formula = "=SMALL(買い物!$M:$P,ROW()-1)" .Range("G2").Font.Color = &HBFBFBF .Range("A2:G10").FillDown End With Worksheets("買い物").Select
(白茶) 2025/01/22(水) 21:11:10
関数でやってみた。 参考にしてください。
>不明点がございましたら仰ってください 買い物は4件だけではないでよね。 増えたら列を追加するのですか。
と言うことで買い物が増えたことを考えて買い物シートを下記のように変更。
|[A] |[B] |[C]|[D] |[E] |[F]|[G]|[H]|[I]|[J] |[K] |[L]|[M]|[N] |[O] |[P] [1] |買い物 | | | | | | | | |現金 | | | |カード | | [2] |日付 |品目 |数 |現金 |カード | | | | |日付 |品目 |数 | |日付 |品目 |数 [3] |1月1日 |りんご| 5|☑TRUE |☐FALSE | 1| | | |1月1日 |りんご| 5| |1月4日 |りんご| 6 [4] |1月1日 |ぶどう| 2|☑TRUE |☐FALSE | 2| | | |1月1日 |ぶどう| 2| |1月4日 |みかん| 4 [5] |1月4日 |りんご| 6|☐FALSE|☑TRUE | | 1| | |1月6日 |ぶどう| 3| |1月10日|メロン| 2 [6] |1月4日 |みかん| 4|☐FALSE|☑TRUE | | 2| | |1月6日 |バナナ| 6| |1月10日|りんご| 3 [7] |1月6日 |ぶどう| 3|☑TRUE |☐FALSE | 3| | | |1月10日|メロン| 4| |1月12日|ぶどう| 6 [8] |1月6日 |バナナ| 6|☑TRUE |☐FALSE | 4| | | |1月12日|バナナ| 5| |1月20日|いちご| 7 [9] |1月10日|メロン| 2|☐FALSE|☑TRUE | | 3| | |1月29日|レモン| 10| |1月20日|スイカ| 8 [10]|1月10日|りんご| 3|☐FALSE|☑TRUE | | 4| | |1月30日|トマト| 11| |1月28日|もも | 9 [11]|1月10日|メロン| 4|☑TRUE |☐FALSE | 5| | | | | | | | | | [12]|1月12日|バナナ| 5|☑TRUE |☐FALSE | 6| | | | | | | | | | [13]|1月12日|ぶどう| 6|☐FALSE|☑TRUE | | 5| | | | | | | | | [14]|1月20日|いちご| 7|☐FALSE|☑TRUE | | 6| | | | | | | | | [15]|1月20日|スイカ| 8|☐FALSE|☑TRUE | | 7| | | | | | | | | [16]|1月28日|もも | 9|☐FALSE|☑TRUE | | 8| | | | | | | | | [17]|1月29日|レモン| 10|☑TRUE |☐FALSE | 7| | | | | | | | | | [18]|1月30日|トマト| 11|☑RUE |☐FALSE | 8| | | | | | | | | |
J3=IFERROR(INDEX($A:$C,MATCH(ROW(D1),$F:$F,0),COLUMN(A1)),"") N3=IFERROR(INDEX($A:$C,MATCH(ROW(D1),$G:$G,0),COLUMN(A1)),"") → へコピーそのまま↓へコピー
F3=IF(D3=TRUE,COUNTIF(D$3:D3,D3),"") G3=IF(E3=TRUE,COUNTIF(E$3:E3,E3),"") ↓へコピー
☑のリンクセルは☑と同じセル D3:G18はユーザー定義で「;;;」にして非表示にする (IT) 2025/01/31(金) 21:06:56
>画像で示すのが悪いことだとは思わない。
質問者側のただの手抜きですな 回答側がテストデータを手入力していちいち作らにゃならんのですか・・・・・ 回答する側もちゃんと動くかテストしたりするんだが・・・・・・ (エゴ) 2025/02/01(土) 11:00:08
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.