ushi2015 の回答履歴
- [Excel ADO] WITH句の可否
Excel2007のADOを使ってCSVファイルのデータを集計する方法を習得中です http://okwave.jp/qa/q9081610.htmlで質問させていただきました内容で、 uriage.csv 伝票日付,伝票番号,取引先名,明細番号,納入先コード,商品名,単位,数量,単価,金額,取引区分 270901,00000664,X社,1,0071,商品A,個,4,2250,9000,1 270901,00000664,X社,2,0071,商品B,個,4,1750,7000,1 270901,00000664,X社,3,0071,消費税,,0,0,1280,2 270903,00000739,X社,1,0067,商品C,式,1,0,0,1 270903,00000739,X社,2,0067,商品D,個,1,0,0,1 270915,00000360,X社,1,,振込,,0,0,4320,0 270915,00000363,X社,1,,振込,,0,0,78840,0 270915,00000363,X社,2,,振込,,0,0,135540,0 271022,00000831,Y社,1,0090,商品B,式,1,10000,10000,1 271022,00000831,Y社,2,0090,消費税,,0,0,800,2 271022,00000832,Y社,1,0144,商品D,個,1,2000,2000,1 271022,00000832,Y社,2,0144,消費税,,0,0,160,2 271105,00000447,Y社,1,,振込,,0,0,2160,0 271110,00000459,Y社,1,,振込,,0,0,10800,0 nonyu.csv 納入先コード,納入先名 0067,本社 0071,M支店 0084,N支店 0090,本社 0109,S支店 0144,T支店 というテーブルに対して、以下のようなSQLを発行することで、VBAによらずSQLのみで処理することができるようになりました(実際はもう少し複雑なSQLですが、質問に際して簡略化しました) Sub sqltest() Dim cn As ADODB.Connection Dim rs As Recordset Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & ActiveWorkbook.Path & ";" & _ "Extended Properties='Text;HDR=YES'" cn.CursorLocation = adUseClient Sql = "SELECT * FROM ( " Sql = Sql & "SELECT 明細番号,伝票日付,伝票番号,商品名,単位,数量,単価,IIF(取引区分>0,金額),NULL,IIF(取引区分=0,金額) FROM uriage.csv 売上" Sql = Sql & " UNION ALL " & _ "SELECT 0,伝票日付,伝票番号,取引先名,NULL,NULL,NULL,NULL,NULL,NULL FROM uriage.csv 売上" & _ " GROUP BY 取引先名,伝票日付,伝票番号" Sql = Sql & " UNION ALL " & _ "SELECT 99,伝票日付,伝票番号,'納入先: ' & 納入先名,NULL,NULL,NULL,NULL,SUM(金額),NULL FROM uriage.csv 売上" & _ " LEFT JOIN nonyu.csv AS 納入先台帳 ON 売上.納入先コード=納入先台帳.納入先コード" & _ " WHERE NOT ISNULL(売上.納入先コード) " & _ " GROUP BY 取引先名,伝票日付,伝票番号,納入先名" Sql = Sql & ") ORDER BY 伝票日付,伝票番号,明細番号" Set rs = cn.Execute(Sql) Range("A2").CopyFromRecordset rs End Sub 一応できたことはできたのですが、データが大量になってくるとSELECT文を3回発行しているためかレスポンスが非常に悪くなってしまっています(上記では、全データを対象にしていますが、実際はWHEREにより日付、取引先名、納入先名などで絞り込んでいます。これを3回やるのは目に見えて無駄とは思うのです) 高速化の方策をいろいろ検索してみましたところ、UNIONで繋げるのは愚策で、共通するSQL文をWITH句でまとめるのが良いという記事がありました しかし、WITHを使おうとしてもエラーとなってしまいます。Excel ADOでは使えないのでしょうか? あるいは、まったく異なるアプローチなど、何かありましたらご示唆ください。 よろしくお願いします
- 締切済み
- Excel(エクセル)
- hzd00430
- 回答数5
- オートフィルタ マクロについて
質問です。 オートフィルタで複数列を1つの条件で抽出したいのですが、教えてください。 たとえばA列が納品書No.・B列が受注No.・C列が商品No.なのですがすべて数字の為、出来ればInBox一回でA-C列を検索してほしいです。 指定納品書NO 受注NO 元品番 21812 3252608 77 21880 3307989 32B 22053 3389769 95414A 22050 3389770 67312H 22052 3389771 67312H 22050 3389773 67118H 以下の様なマクロを作ってみましたが、 A-C列全てに一致しないと抽出しないようです。 どなたかご教授いただけないでしょうか? マクロ '条件1 の設定 Dim 検索NO As Variant '抽出キーの入力指示 検索NO = InputBox("検索NOを入力てください。") 'キャンセルした場合の処理 If 検索NO = Empty Then Exit Sub End If 'オートフィルタがかかっていなかったらかける 'かかっていたら念の為一度解除し再設定 If ActiveSheet.AutoFilterMode = False Then Range("A2:O2").Select Selection.AutoFilter Else Selection.AutoFilter Range("A2:O2").Select Selection.AutoFilter End If Selection.AutoFilter Field:=1, _ Criteria1:=">=" & 検索NO, Operator:=xlAnd, Criteria2:=" " & 検索NO Selection.AutoFilter Field:=2, _ Criteria1:=">=" & 検索NO2, Operator:=xlAnd, Criteria2:=" " & 検索NO2 Selection.AutoFilter Field:=3, _ Criteria1:=">=" & 検索NO3, Operator:=xlAnd, Criteria2:=" " & 検索NO3 AutoFilterMode = False Application.ScreenUpdating = True End Sub よろしくお願いいたします。
- 締切済み
- Visual Basic
- potatopaper862
- 回答数3
- 異常値の何行目かの計算式
Excel2016で、A2から始まり、下へ計算していく計算式があります。 その計算式では、異常値の場合「異常値」として表示されます。 その中で異常値がある場合、同シートに何行目にあるか表示させたいのですが複数ある場合もあり、また、途中で正常値の場合もあります。 そのような場合、最も下の異常値が表示されている行数目を表示させたいのですが、計算式を教えてください。 異常がない場合は「異常なし」とかでいいです。 例: A2:異常値 A3:異常値 A4:1 A5:異常値 A6:異常値 A7:8 A8:異常値 A9:10 A10:15 A11:20 以降正常値の場合、「8行目」と表示する。 回答よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- miya_HN
- 回答数8
- 猫18歳 ご飯を食べなくなる
こんにちは。よろしくお願いします。 今年の春ごろから急に元気がなくなり、それでも昨日まではヨタヨタ歩けていてご飯も少しずつ食べていたのですが、今日になって足腰が完全に立たなくなり、水も飲まなくなってしまいました。 昨日、うちの猫を心配して妹がお見舞いに来てくれました。昔は実家で一緒に住んでいたのですが既に忘れてしまっていたのでストレスだったのでしょうか。病院にも連れていけないくらい人見知りな性格なのに、それが原因だとしたら私は飼い主失格です。 注射器のような物で、水やサプリを混ぜたペースト状のご飯を口に流し込みましたが、ペロペロと飲み込んだ後、暫くして吐き出してしまいました。 夜中にあちこちにオシッコをした後、今日は一度もしていません。 もうこれで最期だと思った方がいいのでしょうか? 若い頃から病院に連れて行くと大暴れしてかなりストレスだと思い、完全室内飼いにしてからは一度も連れて行ってません。もう連れて行った時点で死んでしまうと思うので、家で出来る限りのことをしてあげたいです。苦しそうには見えませんが苦しいのでしょうか?目を開けた状態で瞬きもしないので手をかざしてみるのですが目を閉じるような素振りもしません。見えていないのでしょうか。名前を呼ぶと尻尾を少し動かします。 私に何が出来ますか?少しパニックになっていて乱文ですみません。 よろしくお願いいたします。
- 異常値の何行目かの計算式
Excel2016で、A2から始まり、下へ計算していく計算式があります。 その計算式では、異常値の場合「異常値」として表示されます。 その中で異常値がある場合、同シートに何行目にあるか表示させたいのですが複数ある場合もあり、また、途中で正常値の場合もあります。 そのような場合、最も下の異常値が表示されている行数目を表示させたいのですが、計算式を教えてください。 異常がない場合は「異常なし」とかでいいです。 例: A2:異常値 A3:異常値 A4:1 A5:異常値 A6:異常値 A7:8 A8:異常値 A9:10 A10:15 A11:20 以降正常値の場合、「8行目」と表示する。 回答よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- miya_HN
- 回答数8
- エクセル支払手数料(当方負担の場合)
請求金額から支払手数料を引いた振込金額を計算する支払一覧表をEXCELで作成しました。後から一部の支払先には、当方が手数料を負担しなければならないことがわかりました。そこで顧客名から当方負担であるかどうかを判別したいのですが、良い方法を教えてください。 よろしくお願いします。 表はおおざっぱにいうと以下のような構成です。 ・顧客名 ・振込銀行 ・請求金額 ・振込金額(請求金額-銀行手数料) ・銀行手数料 ・手数料判定(判定用:口座や金額から手数料を決定。)
- ベストアンサー
- Excel(エクセル)
- verify
- 回答数5
- COUNTIFS関数をVBAで使用したい
お世話になります。 よろしくお願いいたします。 Sheet1に集計表、Sheet2にデーターがあります。 氏名とコードが合致するデーターの個数を出したいのですが、コードの書き方がわかりません。 ご教示をお願いいたします。 Sheet1のB列の最後に小計や合計が入っているため、A列使用。 COUNTIFS関数でコンパイルエラーがでます。 Sheet1 A B C D 氏名 氏名 コード 合致する個数 Sheet2 B J N 氏名 コード 数値 Sub test1() Dim i As Long, t As Long Dim wS1 As Worksheet, wS2 As Worksheet Set wS1 = Worksheets("Sheet1") Set wS2 = Worksheets("Sheet2") i = wS1.Range("A" & Rows.Count).End(xlUp).Row t = wS2.Range("B" & Rows.Count).End(xlUp).Row Application.ScreenUpdating = False For i = 5 To i Range(wS1.Cells(5, "D"), wS1.Cells(i, "D")).Formula = _ "=COUNTIFS(wS2.Range("B7:B"&t),B5,wS2.Range("J5:J"&t),C5)" Next i Application.ScreenUpdating = True End Sub
- ベストアンサー
- Excel(エクセル)
- plala0220
- 回答数9
- 車のヘッドライトのくすみ
車のヘッドライトのガラスが新車のときは透明なのに年数がたつとくすんでライトをつけても暗く感じる。皆はどうしてるのかな?
- 締切済み
- 中古車
- soratoaoi814528
- 回答数8
- 車検について。今度車検に軽自動車を出すのですが、今
車検について。今度車検に軽自動車を出すのですが、今Aと言うところに住んでます。むかし住んでたところはB市です。で、今住んでるA市に自動車税金が来て12900円支払いました。しかし、どうやら車検には納付証明書というのが必要で税金のレシートみたいなのを2年分取っておかねばならないようです。ぶっちゃけ取ってません。ない場合B市まで取りに行かなくてはいけませんか?宜しくお願いします。ちなみにA市にするには車庫証明が必要だそうです
- ベストアンサー
- 車検・証明書
- hirokogapon2a
- 回答数2
- エクセルのReplaceで使える「?」(ハテナ)は
エクセルのReplaceで使える「?」(ハテナ)は、 ワイルドカードとして藻文字列としても機能するのでしょうか? Sub Sample() Range("a1").Value = "aaa" Range("a1").Replace What:="a?a", Replacement:="aba" Range("a1").Value = "aaa" Range("a1").Replace What:="a?a", Replacement:="aba?" End Sub を実行すると 「?」は、文字1文字のワイルドカードとして機能しつつ、 最後に「?」が付く事から、文字列として?が置換されていますが この区別ってないのでしょうか?
- ベストアンサー
- Excel(エクセル)
- LOGDDBJKA
- 回答数3
- 【Excel】上2桁を読み取り合計金額を出すマクロ
「(1)商品番号の上2桁を読み取り合計を出す(例:ET,AK) (2)その合計金額が多い順に並べる」 というマクロを作成したいです。 ・・・・・・・・・・・・・・・・・・・・・・ No 商品番号 商品名 販売数 販売金額 1 ET1010 りんご 2133 1382184 2 AK8000 みかん 164 106272 3 GK2010 キウイ 82 53136 4 GN1020 たまご 79 51192 ・・・・・・・・・・・・・・・・・・・・・・ ↑原本の表 ※商品番号の上2桁はET、AK、GKなどがあり、 今後もその種類は増える予定。 イメージとしては、 マクロを実行した際に、添付画像の赤線で囲んだ部分が出てくる マクロを作りたいと考えています。 お教えいただけたらと思います。
- ベストアンサー
- Excel(エクセル)
- tanpopopoketto5
- 回答数3
- ウォークマンに動画を入れたい。
ウォークマンNW-ZX100に youtubeを入れたいので、その方法を教えて下さい。ちなみに入れたい動画は美女缶です。お願いします。
- 締切済み
- iPod・ウォークマン・音楽プレーヤー
- fu1966
- 回答数3
- 古いテープの再生方法
家族の遺品を整理していたところ、テープが出てきました。 私は見たことがないタイプのものなのですが、このテープを再生するにはどうしたらいいでしょうか? 古いものなので、再生する機械がいまでも売っているのか、どこかに依頼すると再生してもらえるのか等を教えてください。 そもそも中身が録画されているのか確認できないのでわからないのですが、可能であれば再生したいです。 よろしくお願いします。
- Excelの同じ列で重複する商品名があったら表示し
知恵をお借りしたく質問です。 Excel2013でシフトを作成しております。 同じ日付の列に同じ名前の人が重複する間違いが出てしまいます。 身体は一つだけですから、同じ日に記入されたら気づくようにしたいのです。 同じファイル内で数店舗のシフトを作成しているので 日付が店舗ごとに書いてあるので 同じ数字が列に出てきますがそれを回避して 記入した名前だけ重複があったら反応してほしい…。 このような都合のよい関数はあるものでしょうか? よろしくお願いいたします!
- ベストアンサー
- Excel(エクセル)
- yuki0008
- 回答数3
- フォルダ内の複数ファイルを1つのシートしたい
フォルダに入っている同じFMTファイルから同じシート名のファイルの9行目からデータが入力されてる行までをコピーして別ファイルの指定シートにペーストしたいです。 50シートくらいありデータを下につなげていきたいのですが、どうしたらよいでしょうか? よろしくお願い致します。
- ベストアンサー
- Visual Basic
- mukku515
- 回答数2
- Excel セルをまたいでに文字入力するには?
こんにちは!Excelのことでお聞きしたいです。 文章を打ち込んで、修正しようと打ち直すと文字がセル内に入ってしまい次のセルに入力できません。セルを広げれば入力されているのですが、下手にセルを広げると下の行 に変な空間が開いてしまうし、そのまま次のセルまたいで修正して入力するにはどうしたらよいのでしょう? 初歩的なことですみません。わかりやすく教えていただけると助かります。どうぞよろしくお願いいたします!
- ベストアンサー
- Excel(エクセル)
- mugachikakko
- 回答数6
- Excelで当選したくじを検索したい
Windows10、Excel2016を使用しています。 自治会の祭りでくじ引きがあり、その管理をすることになりました。 Excelで当選くじを一覧表にし、引換券を持ってきた人を待たせないように、 添付図のような「当選者検索」画面を作ろうと思っています。 【仕様】 1.当選者一覧表は既に出来上がっている 2.[当選者検索]の街区に、引換券の街区を入力して[検索実行]をクリック 3.当選者の当該シート(5等~特等)を表示し、フォーカスを当てる しかしExcelについては詳しくなく、皆様のお知恵を借りるしかありません。 どうかよろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- morinosatou
- 回答数4
- Excelで当選したくじを検索したい
Windows10、Excel2016を使用しています。 自治会の祭りでくじ引きがあり、その管理をすることになりました。 Excelで当選くじを一覧表にし、引換券を持ってきた人を待たせないように、 添付図のような「当選者検索」画面を作ろうと思っています。 【仕様】 1.当選者一覧表は既に出来上がっている 2.[当選者検索]の街区に、引換券の街区を入力して[検索実行]をクリック 3.当選者の当該シート(5等~特等)を表示し、フォーカスを当てる しかしExcelについては詳しくなく、皆様のお知恵を借りるしかありません。 どうかよろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- morinosatou
- 回答数4
- EXCEL:Indirect関数
あるセルに記入された文字と記号を組み合わせ、セルの値の合計を表示しようとしています。 データの入ったセルには「営業所h」と言う名前が付けられており、A1とA2には以下が記入されています。 A1 営業所h A2 営業所 〇 =Sum(営業所h)=13 〇 =Sum(indirect(A1))=13 × =SUM(INDIRECT(A2)&"h")=#REF! エラーが出た三つ目はどうすれば正しい式になりますか。 よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- ticktak
- 回答数2