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

0226218、222 (ワッチョイW 4376-+YVU [118.21.139.12])2023/08/26(土) 02:45:38.22ID:xSj/MJ7d0
>>219
>>220
途中色々ありましたが、無事どちらのやり方でも出来ました
VBAも初めて使いましたが、とても勉強になりました

>>223
>>224
出来ました
ありがとうございました

>>225
追記
具体的には「データの取得と変換」でテーブルを別シートから参照してる時と同じ要領で、更新をリアルタイムでやってほしい感じです。

0228名無しさん@お腹いっぱい。 (ワッチョイW 7fd6-IpLx [219.98.137.219])2023/08/28(月) 12:21:21.09ID:RVUu5KY10
>>225
二つのテーブルの内容は一緒って事?

>>225,227

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

> 更新をリアルタイムでやってほしい
って、ワークシート関数の計算速度レベルを期待している?

>>228
同じではない
シート1には元データに加えてシート1独自の列を設けて編集したいしシート2も同様
シート1とシート2はそれぞれ別の用途に使うので元データにすべての列を追加してしまうとすごく見にくくなるから分けたい

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

ちなみに現状はシート1とシート2にテーブルを個別に作って多めに200行程度あらかじめ追加しておき元データをまるごと参照することで無理矢理対応してる
問題点としては
①多めに行を追加しておいたとしても今後元データがそれ以上の行数になる可能性が完全に排除できない
②最後の行と集計行の間に空行が生じるので手動で表示非表示を都度調整しなければならない

なんか偉そうだな

>>230
シート1の元テーブルの、
 行が変わるorデータが変わる
頻度は?
入力方法は?(どこからかExcelに引っ張らせるのか?手入力か?)

>>232
元データの行の追加と削除、データの更新は直接手入力の想定
頻度は具体的な数字にするの難しいけど結構頻繁
(パワークエリの自動更新の一分間隔だとちょっと作業しててストレスに感じる程度)

既にクエリー自動更新で試しているようだけど、
仮に、何らかの関数でシート2にリアルタイムで反映させるとしたら、
1文字入力するたびに計算が入って、さらに使いにくくくなる。
1時間値の年間8,760行とかで。

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

元テーブルを素直にクエリーでシート2に転写し、
そのクエリーテーブルの右側に列を追加すれば、
ワークシート関数が構造参照で使えるから、
シート1テーブル変更の反映は、
バッチ処理方式のクエリー更新に止めておくのが吉かと。

【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ならスピルで希望している事ができるかと。

>>237
それ考えたんだけど、
スピルでシート2に展開しようとして、
元テーブルの行が増えたとき、
F5再計算させなくても行、増えたっけ?

key列だけスピル展開で、index-matchで他の列参照するにも
テーブル内でスピルはエラーになって、
全列の行を自動伸縮するテーブル機能が使えなかったかと。

F5はジャンプ
再計算はF9だろ

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行をスピルで引っ張ってきくる。
そこから空白行を除いたものに縮め、行数を減らして処理するかな?
空白行は例えで、最終行が算出できればなんでも良いが。
計算を軽くするためにも可変にするのは意味あるかな。

エクセル2013

デスクトップに置いてあるエクセルのファイルクリックで開いてもグレーの画面になる。
ファイル→開くで開くと正常に開く

なんとかならんでしょうか? DDEにチェックと入れてみたが変わらない


>>243
win10です。

修復でもだめ。再インストしてもだめ・・・

テンプレートファイルがぶっ壊れてるんだろ
一回消せよ

>>245
エクセルメニューのファイルから開くと、大丈夫なんだけど、
ファイル自体クリックして開くとどのエクセルファイルでもグレーになる。

>>246
ファイル→オプション→詳細設定
のところ
「Dynamic Data Exchange(DDE)を使用する他のアプリケーションを無視する」
にチェックが入っていれば外してOKクリック

大抵はこれで直ると思います
違ったらごめんなさいです


>>247
ありがとうございます。直りました!

phonetic関数でふりがなが出てこなかったり修正必要なので
どうせ修正するなら関数じゃなくてwebで変換とか一覧表とかない?

何言ってるのかわからんけど、
phonetic関数がふりがなをどう表示するかは参照セルのふりがな設定に依存してる

アクセスキーはalt-h-g-tな

Webの事例からふりがな参照は
AIでも完璧にはムリだべ

同じ漢字でも親族の意向で
読みは変わるし
キラキネームみたいに当て字は多いし
一意的でない

>>253
主流のよみだけで良いのです
関数があまりにも使い勝手が悪いので

主流とする定義のリストを作ってそれから参照するしかないと思うんだけど

>>255
そのリストを0から作るのは大変だから
ネットに上がってないかな?

誰主観の主流なのかも問題になるし、
そんなのがあったらかなりの人が使ってるはず…
というかあったとしてもおそらくデータ量が膨大すぎて標準的な運用に耐えられないと思うんだけど

2行目訂正

そんな都合のいいのがあったらかなりの人が使ってるはず…

>>257
webで見つけたのは「あ」だけで何十ページもあって
全一覧表になってないから
1ページずつ収集するのに気が遠くなるので諦めました

【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),・・・
という関数を入れています

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

よろしくお願いします

ピポットテーブルですぐできそう

すいません、excel2019の置換で質問ですが

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

0.1だけを置換する方法ってありますかね?
実際は長い計算式の最後に0.1か0.167が入っています

>>262
0.167をハゲに痴漢
0.1を0.03に痴漢
ハゲを0.167に痴漢

書こうと思ったら書かれてた

>>262
置換ダイアログのオプションよく眺めて

>>263
げげっ!そんな方法が!
貴方は天才です!

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

聞いて思い付きましたが、前処理で文字列置換では無く書式を設定する事でも同じ様な事が出来ますね
ありがとうございました


>>267
元質問をよく読め
数式の一部を置換だぞ

俺が死ぬわ

formulatextで文字列化した作業列作ってサクラエディタで正規表現置換して値貼り付けしちゃうなぁ

>>270
Shift+Ctrl+@

0272名無しさん@お腹いっぱい。2023/11/02(木) 00:10:31.85
Excelって正規表現で置換とか出来ないんでしょうか

VBAを使えばできるよ

バージョン古くて使えない関数も組めば擬似的に使えるようにもできるしVBAは何でもできる

VBAで正規表現置換関数呼び出してセル内で関数として使ってるけどやっぱり重いよね
デフォルトの関数みたいに軽くならないかなぁ

win10
365
vba

vlsmファイルのショートカットからファイルを開いた時
マクロでどこにあるショートカットから呼ばれたか知る方法ある?

■ このスレッドは過去ログ倉庫に格納されています