X



Excel総合相談所 144
■ このスレッドは過去ログ倉庫に格納されています
0001 垢版2021/04/29(木) 12:13:05.69
!extend::vvvvvv::
!extend::vvvvvv::
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 クエリが使えるか】はい・いいえ
【6 クエリでの回答】可・否
【7 Accessが使えるか】はい・いいえ
【8 Accessでの回答】可・否
【9 VBAの方が簡単で早くできる場合はVBAで回答】 可・否

注意事項
・情報を隠すために別の問題を設定するのはやめましょう。たいていの場合その問題は的外れな設定で、期待していたものからずれた回答が返ってきます。
・絶対に関数で答えてほしい人はVBA使用不可と明記してください。

▼━関連スレ━━━━━━━━━━━━

前スレ
Excel総合相談所
https://find.5ch.net/search?q=excel+%E7%9B%B8%E8%AB%87%E6%89%80
Excel総合相談所 142
https://mevius.5ch.net/test/read.cgi/bsoft/1607860077/
Excel総合相談所 143
https://mevius.5ch.net/test/read.cgi/bsoft/1608362765/

Excel VBA 質問スレ
https://find.5ch.net/search?q=excel+vba

【質問不可】Excel総合相談所スレの雑談・議論スレ
https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80
VIPQ2_EXTDAT: default:vvvvvv:1000:512:: EXT was configured
0228名無しさん@お腹いっぱい。 (ワッチョイW 7fd6-IpLx [219.98.137.219])垢版2023/08/28(月) 12:21:21.09ID:RVUu5KY10
>>225
二つのテーブルの内容は一緒って事?
0229名無しさん@お腹いっぱい。 (ワッチョイ 4376-1YZW [118.20.3.126])垢版2023/08/28(月) 13:38:49.66ID:i0SF/2fr0
>>225,227

> 「データの取得と変換」でテーブルを別シートから参照してる時と同じ要領
ということは、テーブルをクエリー変換するように、
「全ての行・列について、ひとまず同じクローンを別シートに作りたい」
ということ?
そうだとすれば、その目的は?

> 更新をリアルタイムでやってほしい
って、ワークシート関数の計算速度レベルを期待している?
0230名無しさん@お腹いっぱい。 (スップ Sd9f-jW4p [49.97.21.250])垢版2023/08/28(月) 20:44:39.95ID:YouYiLnyd
>>228
同じではない
シート1には元データに加えてシート1独自の列を設けて編集したいしシート2も同様
シート1とシート2はそれぞれ別の用途に使うので元データにすべての列を追加してしまうとすごく見にくくなるから分けたい

速度に関しては「=A1」のように入力して参照しているみたいに常に最新の状態でいるような感じを期待してる

ちなみに現状はシート1とシート2にテーブルを個別に作って多めに200行程度あらかじめ追加しておき元データをまるごと参照することで無理矢理対応してる
問題点としては
①多めに行を追加しておいたとしても今後元データがそれ以上の行数になる可能性が完全に排除できない
②最後の行と集計行の間に空行が生じるので手動で表示非表示を都度調整しなければならない
0234名無しさん@お腹いっぱい。 (ワッチョイ 4376-1YZW [118.20.3.126])垢版2023/08/29(火) 00:05:19.20ID:V9+utNu70
既にクエリー自動更新で試しているようだけど、
仮に、何らかの関数でシート2にリアルタイムで反映させるとしたら、
1文字入力するたびに計算が入って、さらに使いにくくくなる。
1時間値の年間8,760行とかで。

シート1の変更をトリガーにして、VBAのPrivate Subで、
クエリー更新するにしても同様。

元テーブルを素直にクエリーでシート2に転写し、
そのクエリーテーブルの右側に列を追加すれば、
ワークシート関数が構造参照で使えるから、
シート1テーブル変更の反映は、
バッチ処理方式のクエリー更新に止めておくのが吉かと。
0235名無しさん@お腹いっぱい。 (テテンテンテン MM7f-Oq+o [133.106.184.133])垢版2023/08/29(火) 00:30:40.51ID:3n37a9ugM
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 クエリが使えるか】いいえ
【6 クエリでの回答】否
【7 Accessが使えるか】いいえ
【8 Accessでの回答】否
【9 VBAの方が簡単で早くできる場合はVBAで回答】 可

存在しないファイルを絶対パスで参照先にしたときに出る「値の更新」のファイル選択ウィンドウを出さないようにする方法はありますでしょうか?
ググってVBAで確認ウィンドウやエラーウィンドウを抑止するものは色々見つかりましたが、上記の確認ウィンドウを抑止するものが見つからず質問させていただきます。
よろしくお願いします。
0236234 (ワッチョイ 4376-1YZW [118.20.3.126])垢版2023/08/29(火) 01:09:06.68ID:V9+utNu70
> そのクエリーテーブルの右側に列を追加すれば、
> ワークシート関数が構造参照で使えるから、

これには要注意がうるため、追記。

元テーブルの行数増減に
シート2のクエリーテーブルも、更新かければ追従するけれど、
追加したワークシート関数の組み方によっては、
きちんと計算できない場合がある。
例:累計を単純に上セル番地指定で足している、等
(回避策としては、行番号列を追加して、index(match([行番号]-1)で前行セル値を足す、等)

できればクエリー内で
追加列の計算をステップで追加するのが吉。
0237名無しさん@お腹いっぱい。 (ワッチョイW 7fd6-Q1tE [219.98.137.219])垢版2023/08/29(火) 03:35:51.08ID:XfHRV7Ik0
>>230
Excel365 or 2021ならスピルで希望している事ができるかと。
0238名無しさん@お腹いっぱい。 (ワッチョイ 4376-1YZW [118.20.3.126])垢版2023/08/29(火) 03:57:23.59ID:V9+utNu70
>>237
それ考えたんだけど、
スピルでシート2に展開しようとして、
元テーブルの行が増えたとき、
F5再計算させなくても行、増えたっけ?

key列だけスピル展開で、index-matchで他の列参照するにも
テーブル内でスピルはエラーになって、
全列の行を自動伸縮するテーブル機能が使えなかったかと。
0240名無しさん@お腹いっぱい。 (ワッチョイW 7fd6-IpLx [219.98.137.219])垢版2023/08/29(火) 05:20:48.96ID:XfHRV7Ik0
>>238
オリジナルデータはテーブルで、テーブルからスピルでデータ参照する先はテーブルでない状態で。
key列でindexmatchしなくても =テーブル名 でテーャuルの全データb烽チてくるし=A=テーブル名[覧レ] で指定しbス列データだけb烽チてくる。
0241名無しさん@お腹いっぱい。 (ワッチョイ 6fd4-bIAO [223.165.48.210])垢版2023/08/30(水) 23:30:59.38ID:8X/ijx160
>>238

行数を可変で処理したい場合は、
例えば、最大処理可能な行数をあらかじめ5000行とか決めとく。
最初はその5000行をスピルで引っ張ってきくる。
そこから空白行を除いたものに縮め、行数を減らして処理するかな?
空白行は例えで、最終行が算出できればなんでも良いが。
計算を軽くするためにも可変にするのは意味あるかな。
0260名無しさん@お腹いっぱい。 (ワッチョイ 0202-H9h+ [115.124.153.221])垢版2023/10/28(土) 20:31:40.46ID:6QA/QRmI0
【1 OSの種類         .】 Windows11
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 クエリが使えるか】いいえ
【6 クエリでの回答】否
【7 Accessが使えるか】いいえ
【8 Accessでの回答】否
【9 VBAの方が簡単で早くできる場合はVBAで回答】 否

AA1に●、AB1に☆、AC1に□・・・といった記号をAE1まで入っています

A10からZ20までの各セルに、記号が一文字ずつ入っています
この記号は、AA1からAE1までの記号以外もあります

A10からZ20に入力されている、AA1からAE1までの記号の数を、縦列で数えたく
A21に、=SUM(COUNTIF(A10:A20,$AA$1),COUNTIF(A10:A20,$AB$1),COUNTIF(A10:A20,$AC$1),・・・
という関数を入れています

これで望む数は出せているのですが、もっと簡単にする方法はないでしょうか

よろしくお願いします
0262名無しさん@お腹いっぱい。 (シャチーク 0Cfb-H9h+ [202.226.100.68])垢版2023/10/30(月) 19:53:12.35ID:OXsNCb4pC
すいません、excel2019の置換で質問ですが

0.1 → 0.03
に置換するとします
しかし、選択範囲内には0.167というのもあり
これを普通に置換すると
0.1 → 0.03
0.167 → 0.0367
となってしまいます

0.1だけを置換する方法ってありますかね?
実際は長い計算式の最後に0.1か0.167が入っています
0266名無しさん@お腹いっぱい。 (中止 0Cfb-H9h+ [202.226.100.68])垢版2023/10/31(火) 10:38:34.43ID:sC+FVteNCHLWN
>>263
げげっ!そんな方法が!
貴方は天才です!

エスケープシークエンスやワイルドカードでなんとか出来無いか、VBAで正規表現使うしか無いのかとか無駄な事をしてました><

聞いて思い付きましたが、前処理で文字列置換では無く書式を設定する事でも同じ様な事が出来ますね
ありがとうございました
0272名無しさん@お腹いっぱい。垢版2023/11/02(木) 00:10:31.85
Excelって正規表現で置換とか出来ないんでしょうか
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況