2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

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

Excel総合相談所 155

1 :名無しさん@そうだ選挙にいこう:2023/08/19(土) 18:09:49.84 .net
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

注意事項
・情報を隠すために別の問題を設定するのはやめましょう。たいていの場合その問題は的外れな設定で、期待していたものからずれた回答が返ってきます。

スレッド作成は>>980がやります

※前スレ
Excel総合相談所 154
https://mevius.5ch.net/test/read.cgi/bsoft/1683290221/

270 :名無しさん@そうだ選挙にいこう:2023/10/25(水) 23:58:34.35 .net
質問させてください。
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
Excel初心者です。
オートSUMで+2-2-4と計算をして合計を出すと、-4となります。マイナスの合計になる時はその合計の場所を0にして、0からマイナスにならないようにしたいのですが、どうやったらいいのでしょうか?よろしくお願いします。

271 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 00:19:56.54 .net
>>270
追記です。
たくさんのマイナスの数字を計算に入れても合計値は0になり、その後の計算にプラスの数字が入ればプラスになる、みたいな感じにしたいです。
ちょっと分かりにくくてすみません。
よろしくお願いします。

272 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 02:06:13.81 .net
>>268
ワークシート関数をネストしまくるよりは、複数条件の列挙や追加がずっと簡単にできるやろ
If文をどんどん並べればいいんだから

273 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 02:09:37.88 .net
>>271
A1セル 2
A2セル -2
A3セル -4
みたいにセルが分かれてるなら、隣に合計を出す列を用意して
B1セル =A1
B2以下 =IF(B1+A2<0,0,B1+A2)

274 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 04:24:10.01 .net
>>271
sumの替わりにsumif関数を使い、条件を0以上にする

275 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 05:07:29.19 .net
=MAX(0,SUM(A1:A4))

276 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 05:08:24.01 .net
>>271
+1 -1 -1 +1 の場合は1になるか2になるかどっち?
つまり、マイナスは無視するだけなのか、マイナスになったらそれまでの合計がリセットされるのか

277 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 08:17:34.06 .net
>>269
なんかミスってる気がしてきた。
ちょっと再検討してみる。

278 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 08:20:15.80 .net
>273>27>275
返信ありがとうございます。早速やってみます。
>276
そうです、この場合は1になります。

279 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 10:08:44.61 .net
今更だが、Co.,Ltd. の件は置換じゃダメなのか 
質問書き込んで回答されたの読んで試して試行錯誤してる間に解決してる気がする
どんなイレギュラーな記述が有っても、ざっくり処理した後で再発見した部分だけ再度置換で済むような
問題は、今後も元データが次々投入されて、せっかく直したのがチャラに成ってしまう点のような
変則 Co.,Ltd. のバリエーションを別途リストアップしておくのも大事な気がする
変則のリストさえ出来てれば、どんな厄介が紛れ込んでも文字列一括置換で秒殺のはず

280 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 10:14:56.28 .net
オートSUMなのにいっこずつチェックしながらマイナスを除外するのか?
>>276 なら0に成らなきゃいけないだろうに?
数値が入ってるセルの配列がどんなんか判らんが、最終行(または列)で一括オートSUMだと誤算するだろ
逐次計算でやるならオートSUMは使えない

281 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 10:55:11.69 .net
>>278
できない事もないけど、具体的に範囲の番地わからないと適切なのを組めない
せめてデータが縦長(1列)か、横長(1行)かだけでもわからないと・・・

282 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 11:42:00.07 .net
>>279
まあたった8文字だし、新パターンを見つけるたびに登録する方法で手動で全パターン列挙でも問題ないだろうね

283 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 11:45:34.37 .net
俺ならまず =RIGHT(A1,8) で後半部分を抜き出してB列でソートして重複を削除して初期リストを作るな
変な場所にスペースが入ってりピリオドが抜けてたとしても、単純に重複削除だけでイレギュラーなパターンとしてすべてリストアップできてるから

284 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 14:59:55.28 .net
クエリと接続で
フォルダからデータを取得
フォルダ内にはテンプレのエクセルブック
エディタで要らない列、行を外してテーブルを作った
そのテーブル隣の列にテキストを入れ込み、テーブルにサイズを変更し、テーブルを広げた
この状態でクエリを更新すると、追加した列が置き去りに、というかクエリの列に付随していかない。
クエリの接続の列の並べ替えを保持ってのはクエリにしか適応されないのか、無理だった。
更新してもズレない方法を 、誰か。。。

285 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 15:00:20.82 .net
クエリと接続で
フォルダからデータを取得
フォルダ内にはテンプレのエクセルブック
エディタで要らない列、行を外してテーブルを作った
そのテーブル隣の列にテキストを入れ込み、テーブルにサイズを変更し、テーブルを広げた
この状態でクエリを更新すると、追加した列が置き去りに、というかクエリの列に付随していかない。
クエリの接続の列の並べ替えを保持ってのはクエリにしか適応されないのか、無理だった。
更新してもズレない方法を 、誰か。。。

286 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 18:39:04.97 .net
>260 のCo.,Ltd.ですが

重複の削除は大文字小文字区別しないのでちょっとめんどくさいけど
なんとかリスト抽出したら
coとltdの間にスペースがあったりなかったり
coとltdの間の「.」「,」は全角と半角が混じってる「、」もある抜けてるのもある
ltdの後ろに.があったり全角だったりなかったり
なので抜けとか考えると文字数が不定でお手上げ

全パターンはスペースなしで1万通以上なので諦め
スペースありだと計算できない

なので正規表現で
[cCcC][oOoO][\..].{0,3}[lLlL][tTtT][dDdD][\..]?

co.の後ろ3文字の判定が手抜きだけど実績では不具合なさそう
どうしても関数でやりたいので
ネットで拾ってきたユーザー関数REGEXPを使う

=SUBSTITUTE(A2,REGEXP(A2,"[cCcC][oOoO][\..].{0,3}[lLlL][tTtT][dDdD][\..]?"),"Co.,Ltd.")

にした
もう疲れた

287 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 19:20:14.09 .net
>>282
これだけの数を
5文字*(4種全半半大小)+3文字*2種全半ならに文字配置を列挙するの?
統計苦手だけどなんバターンなんだろ。これ手作業で作ったら検証がガバだよね、またちょんプロか
仕事柄・・・関数でできる範囲なのが全半大小だと考えれば諦めれる範囲なんちゃう
変換テーブル作り出したら(株)やら旧漢字やらなんでもかんでも変換するべきってなるのイヤやねw

288 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 19:57:04.97 .net
お手伝いしたいけど
>>276

これが1or2なのが既に理解できない。0or2でないの?www

289 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 21:15:02.02 .net
>>288
自分も?となったけど、順に足してその時点の数値で判断するということかと。
+1 -1 -1 +1
+1-1で0, 0-1で-1になるので0, 0+1で最終的に1かと。
vbaなら出来るけどワークシート関数では無理?
lambda関数で作り込めば出来るのかな。

290 :名無しさん@そうだ選挙にいこう:2023/10/26(木) 22:58:04.41 .net
>>289
なるほど。ありがとうですw

ならば>>273氏が良さそうですね

私は>>275氏のMAXをよく使うので

B1セル =A1
B2セル =MAX(B1+A2,0)
B3セル =MAX(B2+A3,0)
B4セル ~繰り返し~

291 :名無しさん@そうだ選挙にいこう:2023/10/27(金) 00:27:50.78 .net
windos10でExcel365を使ってるんですが、コメント機能がスレッド表示になりません。
メモと同じ表示になってしまうのですがスレッド表示にするにはどうすればいいでしょうか?

292 :名無しさん@そうだ選挙にいこう:2023/10/27(金) 00:43:52.57 .net
パワクの列分割で、数字/非数字の境目と非数字/数字の境目の両方で分割することはできますか?
同じ列にABC123と12ABがあったときに、ABC;12の列と12;ABの列に分割したい

293 :名無しさん@そうだ選挙にいこう:2023/10/27(金) 00:44:05.06 .net
パワクの列分割で、数字/非数字の境目と非数字/数字の境目の両方で分割することはできますか?
同じ列にABC123と12ABがあったときに、ABC;12の列と12;ABの列に分割したい

294 :名無しさん@そうだ選挙にいこう:2023/10/27(金) 00:50:03.97 .net
>>267

もうやり方を決めたみたいやが、ひとまず修正版をあげとく。多分なおってると思う。
ついでにひとつの変換前文字列が複数マッチングしてたら、Co.,Ltd.Co.,Ltd.のように2重変換とならないような対策も入れた。

LET(txt,A1:A10, txta,{"CO.,Ltd.","CO. ,Ltd.","Co.,Ltd."}, txtb," Co.,Ltd. ", r,ROWS(txt), c,COLUMNS(txta), txt2a,SUBSTITUTE(txt,txta,"★"),
x,EXPAND(LEN(txt2a)- LEN(SUBSTITUTE(txt2a,"★","")),r,c+1,-1),
y,SCAN(0,x,LAMBDA(i,x,IFS(x=-1,0,x=1,i+1,TRUE,i))),
z,HSTACK(TAKE(y,,-1),TAKE(y,,c)),
flg,TAKE(IF((z=0)*(y=1),1,0),,c),
chgtxt,SUBSTITUTE(txt2a,"★",txtb),
txtc,BYROW(IF(flg=1,chgtxt,""),LAMBDA(x,TEXTJOIN("",TRUE,x))),
IF(txtc<>"",txtc,txt))

295 :名無しさん@そうだ選挙にいこう:2023/10/27(金) 11:59:34.07 .net
MAPとREDUCEでもっとシンプルに書けないかな

296 :名無しさん@そうだ選挙にいこう:2023/10/27(金) 22:51:31.53 .net
内容から推測するに大体関数5個くらいでシンプルに書けると思う
あまり長い式を書くと1ヶ月後には本人すら改修困難になる

297 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 09:52:59.79 .net
だいたい長い数式を組む事自体ヤバいのだが。

298 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 10:36:15.07 .net
これぐらいで長い式なんかな?
この数倍の計算式はよく作るよ。
普通はメンテナンス性をよくするために、全然違う記載スタイルにするけど。

今回はそれをすっ飛ばして、かつ、計算式の吟味もサボってる感じやな。

299 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 11:26:11.16 .net
その半分でも長い部類
その数倍の式をよく作るのはちょっと理解できない
原因が変数の名前がやたら長いからとか複雑な数学の公式を組み込んでるからとかならまだマシだけども

300 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 11:47:02.77 .net
長くても、
> 全然違う記載スタイルに
して、可読性を確保してるんだろ?

301 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 12:10:17.85 .net
今更だが、Co.,Ltd. に関してより正確な知見を
https://online.ecc.co.jp/column/inc/
企業の登記に関して会社名の英語表記は定款で決める、とある つまり、企業によりけりで自由だと
更にコンマは省略できるだの、様々があって当然の様子 統一する意義が薄い(気がする) 自己満?
対象企業の定款から抜き出した元データがあるやら、外国企業が前提やら

302 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 13:04:02.35 .net
メンテナンス性だと思うけど
> 全然違う記載スタイルに
何と違うスタイルにするんだろう?

要求事項(仕様)に近い状態なら長短は気にならない。仕様と違えてまでも可読性は求めない


>>301
>英語では会社名の後ろに「Inc.」や「Co.,Ltd.」などの表記を記載します。
最後に表記するってしれっと書いてあるけど、決め事なのか通例なのか
汎用機の時代から考えれば全データ内に全半大小が混在してることも仕方ないと思う。1データで混在してるのは止めてほしいけどw

303 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 14:05:54.15 .net
>>302
誰がお守りすんねん?

304 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 14:22:35.02 .net
>>303
え?
未来予知できないから答えられない。永遠にお守りすることが出来ないことを前提にしないの?

305 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 15:13:19.60 .net
昔は長い難解な数式が組めれば高度なExcelスキルがあると思われたからな。
のちに問題になって止めようって風潮になったはず。

306 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 15:22:12.14 .net
>>305
どちらかというと、古ければ古いほど関数が少なくて長くなるしかなかったというのが正解。
IFERRORが無いだけでも1.5倍にはなるしな。

で、バージョン上がっていってるのに新しい関数を使わずに、昔の式を引きずって無駄に長い式を組む老害がいるもんだから、それが叩かれ、その流れで長い式時代忌み嫌われる傾向になっていった。
実際は、短いからと言って可読性が高いわけではないけどな。

365ならかなり見やすく短い式にできるんだから、世界全体が365になってほしい位だ。

307 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 16:19:39.78 .net
古いバージョンだと入れ子制限厳しいからそういう意味では不正解

308 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 16:26:34.40 .net
どこまで古いの出してくるんだw

309 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 17:24:38.15 .net
どこまで古いの出してくるんだw

310 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 17:24:58.64 .net
ごめんなさい

311 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 17:58:04.35 .net
あんま引っ張る気が無いんやが、ヒント的なものだけあげとく。単に自分の考えや方針であって、一般的になりうるかは知らんが。

エクセル計算式は特に理由がないなら、1つのセルにのみ入力して、スピルを使いまくればことたりることが多い。計算式のメンテする時もそのセルをいじれば良いだけや。

1つのセル内で、複数の関数定義をして、それをセル内で利用できる。これができると知って、スタイルを変えた。今となっては癖はあるけど普通の言語に近い感じや。別にセルを分ける必要は無いし、定義した関数内でのローカル変数や、グローバル変数も使い分けできる。コメントも適時記載する。

計算式を複数セルに分割して使うのは、不揮発性関数の再計算しないことによる速度アップも目的になりうる。何を再計算対象とするのかってのは、かなり強力に機能する。エクセルの特性に合った計算を考慮できれば、資源の有効活用ができる。

といいつつ、実は自分もようやく一定のスタイルを構築できた段階に過ぎないし、今後の一般的な流れにあっているかもわからん。大幅な機能アップも予定されているし(Pythonのこと)、どうなることやら。

312 :名無しさん@そうだ選挙にいこう:2023/10/28(土) 21:41:58.49 .net
会社の事務では365だけど
現場では2004だからなるべく古い関数使ってる

313 :名無しさん@そうだ選挙にいこう:2023/10/29(日) 13:08:39.56 .net
↓に衝撃を受けてた。Pythonもすでにプレビュー版やし、私じゃもうダメかもw
>>295

>>303
当時読めるように書こうが世代交代が必要になれば手を入るべきだろうし
同じ結果だからと要求事項を曲解してまで短くとか意味あるんかなと思う
2023年現在でメンテナンス性を重視したら、MAPやREDUCEを使う方が良いとなるはずだけど・・・(VLOOKUPなんてX~使うでしょ?)
私自身のスキルをメンテナンスするのがやっとだよw

314 :名無しさん@そうだ選挙にいこう:2023/10/29(日) 14:58:28.72 .net
軽い?話題を振ってみる。

エクセルの機能強化がなされるに伴い、変数や関数名を日本語表記できる優位性はどんどん上昇していると感じる。

データ1、データ2
は使えるが、

dat1、dat2
は使えない。

でも、例えば汎用関数を作った時に、もし広く公開できるようにと考えた場合、前者だと計算式を読めん人口が多いので、やっぱローマ字のが良いのかなって思ってしまう。複雑な関数になればなるほど日本語表記したくなってくるが。

最近毛色は違うが、Shift-JISの日本語、および、多分中国語?のインプットがあって、文字がバケまくり?の環境に置かれてるので、やっぱ半角ローマ字は強いと考えてしまう。
コメントは日本語で許してねとは思うが。

皆さん何か考えていることなどあります?

315 :名無しさん@そうだ選挙にいこう:2023/10/29(日) 16:15:41.79 .net
私は古い人間なのでなかかな日本語にすることはできないです

関数名に日本語を利用した場合のデメリット
・ソート順が必ずしも読みのあいうえお順にならない(気持ち悪いw
・結局、並び順を意識すると日本語としてはおかしくなるから(ex. 月次決算、年次決算、月次予測→決済月次、決済年次、予測…
・エディタの「単語のみ」の範囲が違うイライラw(ex.重信メイ 「重信」と「メイ」でバラける。ジャニーk…
・正規表現で検索することが限りなく困難になる。アルファベットなら[A-Z,a-z]ですからね
・そもそも日本語だと技術的に縛ることが現実的に不可能(漢字はシナ文字にもありますからね
・日本語圏外スタッフが意外といるwwww

ExcelはカクカクシカジカでLenBが関数とVBAで違う仕様になってますからね。その変わり目を過ごしたのでなかなかw
関数名を日本語にせずjavadocのようにコメントにしっかり書きたいです
ビルトイン関数も英語ちゃいますからw

316 :名無しさん@そうだ選挙にいこう:2023/10/29(日) 17:07:18.79 .net
いちいち草生やさなきゃいいのに

317 :名無しさん@そうだ選挙にいこう:2023/10/30(月) 10:59:14.26 .net
いちいちwを草生や…って打たなくてもいいのにw

318 :名無しさん@そうだ選挙にいこう:2023/10/30(月) 18:00:32.40 .net
(笑)

319 :名無しさん@そうだ選挙にいこう:2023/10/30(月) 18:00:34.53 .net
(笑)

320 :名無しさん@そうだ選挙にいこう:2023/10/31(火) 11:04:33.79 .net
今日は質問はありません

321 :名無しさん@そうだ選挙にいこう:2023/10/31(火) 11:42:57.99 .net
>>306
ホントそう。ロータス123時から表計算やってる老害がドヤ顔で複雑で時代遅れな式組んでくるからね。
町内会の老害が作成したシートとか悲惨だわ

322 :名無しさん@そうだ選挙にいこう:2023/10/31(火) 12:30:33.66 .net
5chは老害の巣窟ですよ。
子供は他所で遊んだ方が良いですよ。

323 :名無しさん@そうだ選挙にいこう:2023/10/31(火) 15:10:45.33 .net
↓これに反応しないが老害は許せない世代は?
>>295

324 :名無しさん@そうだ選挙にいこう:2023/10/31(火) 23:05:43.57 .net
MS-DOS で Multiplan を使っていた俺が颯爽と通過

325 :名無しさん@そうだ選挙にいこう:2023/11/01(水) 07:50:24.39 .net
>>306
お前がライセンス無料配布すれば解決

326 :名無しさん@そうだ選挙にいこう:2023/11/01(水) 08:24:35.56 .net
例えば文字列の変換をPowerQuery使ってやろうとすると
こんな感じ。

エクセルの関数を使わずに文字列を一瞬で変換する方法【powerQuery】vs【RelaxTools】
https://bunkyudo.co.jp/word-replace-powerquery-relaxtools-t-h/

1文字ずつだけでなく語句もいける。
ただ、「111」を「222」に変換したいときに「1111」が「2221」になるので
少なくとも数値は列追加で
if [当該列] = 111 then 222 else [当該列]
とかやらなきゃならんけど。

明示的な変換テーブルに語句追加するメンテしてけばいいので、
感覚的にはわかりやすい。
半角カナの全角化や地名表記のブレなんかに使ってる。

327 :名無しさん@そうだ選挙にいこう:2023/11/01(水) 11:05:30.43 .net
>>325
読解力。野暮な解説

ライセンスがあるないで数式をどうするかではなく、ライセンスがあろうとも古い冗長的な関数を利用してしまうこと、または、それをする人のこと

を言いたいんだと思ふ。ライセンスで解決すると思ってくれてるならそれはそれで嬉しいですが

328 :名無しさん@そうだ選挙にいこう:2023/11/01(水) 11:05:46.69 .net
>>325
読解力。野暮な解説

ライセンスがあるないで数式をどうするかではなく、ライセンスがあろうとも古い冗長的な関数を利用してしまうこと、または、それをする人のこと

を言いたいんだと思ふ。ライセンスで解決すると思ってくれてるならそれはそれで嬉しいですが

329 :名無しさん@そうだ選挙にいこう:2023/11/01(水) 19:00:34.18 .net
>>327
オレの部署では古いエクセル現役なので
365もあるけど新しい関数は原則避ける

330 :名無しさん@そうだ選挙にいこう:2023/11/01(水) 19:39:11.57 .net
【1 OSの種類         .】 Windows11
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

2つのシート、仮にαとβがあります
αとβには、それぞれA1からZ3000までのセルに値が入っています
別シートγを使用して、αとβを比較し、値の違うセルのみを見つけたいのですが
良い案はありますでしょうか?

最も簡単なやり方で言えば、γのA1からZ3000までEXACT(αn,βn)とすればよいのですが、それでは重くなってしまうので避けたいです。

規定上マクロの使用はできません。
パワークエリは使えます。
何卒お知恵をお貸しください。

331 :名無しさん@そうだ選挙にいこう:2023/11/01(水) 23:00:46.99 .net
AA1にA1&B1&C1&。。。。した奴を入れて
AA2にA1&B2&C2&。。。。した奴を入れて
AA列と3001行だけをEXACT

332 :名無しさん@そうだ選挙にいこう:2023/11/01(水) 23:03:22.12 .net
追加
A3001にA1&A2&A3&。。。。した奴を入れて
B3001にB1&B2&B3&。。。。した奴を入れて


AA列と3001行だけをEXACT

333 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 07:01:32.21 .net
ありがとうございます。でもそれだと列ごとしか異なっていることが分からないですよね?
どこのセルが違っているのか、できるだけ軽くなるように一発で特定したいんです。
自分はある程度であれば分かるのですが、実際のファイルの使用者はExcelがほぼ分からない人なので、可能な限り視覚的に簡単に特定できる方法にしたいんです。
本当はマクロを使いたいのですが、先述した通り社内規定により不可です。

334 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 08:01:29.17 .net
>>333
AA列の否と3001行の否の重なった所

335 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 10:40:53.86 .net
ググってみればすぐ出て来る
https://www.excelspeedup.com/shi-tohikaku/
一画面に収まらない大きな表とかなら
https://www.excelspeedup.com/shi-tohikaku2/
小賢しい真似して新しめの関数使いたいとか以前に、旧来のシンプルな計算式とかでも容易に可能

336 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 11:23:31.01 .net
厳格なEXACT関数と曖昧なイコール演算子はどちらが重いですか?

337 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 11:41:41.10 .net
そんな基本中の基本、頻用中の頻用な話なのね・・・自分の読解力に不安を覚えてしまった
流石です>335さん

338 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 11:52:06.22 .net
為念。ご存知なら申し訳ない

Aとaの比較、EXACTは偽ですが=やifだと真です

339 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 11:55:22.13 .net
もひとつおまけに。ご存知なら申し訳ない

文字列セル9と数値セル9の比較、EXACTは偽ですが=やifだと真です

340 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 16:10:04.68 .net
=IF(αn=βn,EXACT(αn,βn))

341 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 20:00:41.83 .net
厳格なEXACT関数と曖昧なイコール演算子はどちらが重いですか?

342 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 20:53:16.97 .net
50kgぐらいあるん?

343 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 20:53:40.70 .net
3000行26列というデータから視覚的に探すというのもなんなので、値が異なるセルのアドレスを表示するものを組んでみた。処理が重いかどうかはわからない。
(TOCAL使ってるからExcel365かonlineしか動かない)

Sheet1,2にデータがあるとして、Sheet3のA1セルに
=TOCOL(IF(NOT(EXACT(Sheet1!A1:Z3000,Sheet2!A1:Z3000)),ADDRESS(ROW(Sheet1!A1:Z3000),COLUMN(Sheet1!A1:Z3000),4),""))

Sheet3のB1セルに
=FILTER(A1#,A1#<>"")
これでB列にスピルして表示される。

344 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 21:11:43.26 .net
同じようなものを作ってみた。
ひとまずEXACTじゃなくてif版やけど。
詰めて表示するんで、大量に差がなければ一目瞭然やろ?
処理が高速だと思っているindexを使ってるので、重くないと思う。サクッと作ったんでイマイチかもしれんな。

=LET(a, Sheet1!A1:Z3000, b, Sheet2!A1:Z3000, r, ROWS(a), c, COLUMNS(a), mar, MAKEARRAY(r, c, LAMBDA(r,c, c)), mac, MAKEARRAY(r, c, LAMBDA(r,c, r)), eq, IF(a = b, 1, 0), eqmar, IF(eq = 0, mar, ""), eqmac, IF(eq = 0, mac, ""), tjeqmar, BYROW(eqmac, LAMBDA(x, TEXTJOIN("_", TRUE, x))), tjeqmac, BYROW(eqmar, LAMBDA(x, TEXTJOIN("_", TRUE, x))), tstjeqmar, TEXTSPLIT(TEXTJOIN("★", , tjeqmar), "_", "★", , , ""), tstjeqmac, TEXTSPLIT(TEXTJOIN("★", , tjeqmac), "_", "★", , , ""), qa, IF(tstjeqmar <> "", INDEX(a, tstjeqmar, tstjeqmac), ""), qb, IF(tstjeqmar <> "", INDEX(b, tstjeqmar, tstjeqmac), ""), q, IF(qa <> "", qa & " -> " & qb & " (" & tstjeqmar & "," & tstjeqmac & ")", ""), q)

345 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 21:46:09.11 .net
>>343
344さんの関数をみてLET関数も使ってみた。これなら作業用の列も不要になる。

=LET(a,Sheet1!A1:Z3000, b,Sheet2!A1:Z3000, c,TOCOL(IF(NOT(EXACT(a,b)),ADDRESS(ROW(a),COLUMN(a),4),"")), FILTER(c,c<>"") )

LET関数の使い方がよくわかってなかったけど、なんとなく理解できた。LAMBDAも勉強しなければ。

346 :名無しさん@そうだ選挙にいこう:2023/11/02(木) 22:00:28.65 .net
そんなことよりEXACT関数とイコール演算子はどちらが重いの?

347 :名無しさん@そうだ選挙にいこう:2023/11/03(金) 01:00:25.18 .net
じゃあVBSで

348 :名無しさん@そうだ選挙にいこう:2023/11/03(金) 07:04:13.73 .net
>>344

ここで使ってるTEXTSPLITは、多量のデータが扱えん気がしてきた。
いつもは違う関数を使ってるが、サボってこれにした。
もし、要望があれば改良版を検討するか?

349 :名無しさん@そうだ選挙にいこう:2023/11/03(金) 14:12:40.93 .net
ねぇねぇEXACT関数とイコール演算子はどちらが重いの?

350 :名無しさん@そうだ選挙にいこう:2023/11/03(金) 14:18:29.33 .net
両方重い
適当にあしらってみる
自分で試せやガキ

351 :名無しさん@そうだ選挙にいこう:2023/11/03(金) 14:29:28.24 .net
>>350
自分で試すならこのスレは要らない
バカなの?

352 :名無しさん@そうだ選挙にいこう:2023/11/03(金) 17:46:31.71 .net
>>351
コノスレにお前は要らない
バカなの?

353 :名無しさん@そうだ選挙にいこう:2023/11/03(金) 20:35:48.30 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】エクセル2019
【3 VBAが使えるか    .】 ぐぐってコピペできる程度、避けたい
【4 VBAでの回答の可否】 可だが、避けたい


VLOOKUP関数って複数の条件だと使えませんか?
&を使った方法はスマートでないとの数字を検索値で使うので連結したら違う検索結果になりそうなのでダメなのです。
3000行30列のデータを検索します。
素直にエクセル2021を購入してXLOOKUP関数を使うべきでしょうか?
他のやり方があれば教えてください。

354 :名無しさん@そうだ選挙にいこう:2023/11/03(金) 21:58:46.68 .net
>>353
xlookupでも複数条件での検索はvlookupと同じで&でキー列を作る方法になると思うけど。どこかでこれ以外の方法が紹介されてた?
「違う検索結果になりそう」って試してないならまずやってみて確認するのが先では。

355 :名無しさん@そうだ選挙にいこう:2023/11/04(土) 01:01:15.91 .net
>>353
計算列とか行とか作れば行けね?

356 :名無しさん@そうだ選挙にいこう:2023/11/07(火) 07:45:09.28 .net
>>353
vlookupでやりたいなら&でやらないと多分無理
複数行の結果がユニークなら(重複なし)、
indexとsumproductとrow(colmun)でいける

357 :名無しさん@そうだ選挙にいこう:2023/11/07(火) 07:46:04.64 .net
>>353
vlookupでやりたいなら&でやらないと多分無理
複数行の結果がユニークなら(重複なし)、
indexとsumproductとrow(column)でいける

358 :名無しさん@そうだ選挙にいこう:2023/11/07(火) 07:46:37.59 .net
ダブった、すまん

359 :名無しさん@そうだ選挙にいこう:2023/11/09(木) 12:25:52.15 .net
Office2024出るんかいな?
出たらEXCEL2024だけ購入したい感じ。

360 :名無しさん@そうだ選挙にいこう:2023/11/11(土) 23:42:43.58 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2021
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

セルの結合を多用して作られた物凄く使いにくい帳票類が多数あります。
一枚一枚手打ちするのは時間がかかってしょうがないので、テーブルからデータを引っ張ってくるようにしたいと考えています。

そこで質問なのですが、帳票にデータを格納するための方法としてはワークシート関数かVBAを使用してテーブルからデータを引っ張ってくる様にするのが一番手っ取り早いでしょうか。
あるいは他の手段(PowerQuery等)で何か便利な方法はあるでしょうか。
ざっくりとした質問になってしまいますが、大まかな方向性で結構ですので教えて頂ければと思います。
また、そういったケースを対象にした書籍・動画・WEBサイト等がもしあればご教示ください。

361 :名無しさん@そうだ選挙にいこう:2023/11/12(日) 08:36:49.70 .net
>>360
PowerQueryで列結合ワークシートのデータクレンジングだと、
例えばこんなのとか。

https://analytic-vba.com/power-query/tips-power-query/2way-cell-merge/

政府統計のe-Statで公開されているExcelは、
紙の帳票を意識した旧態形式が多いので
よく使う。

362 :名無しさん@そうだ選挙にいこう:2023/11/12(日) 09:26:54.55 .net
>>361
すいません、説明不足でした。
「使いにくいワークシート→テーブル」ではなく、
「テーブル→使いにくいワークシート」の方法が知りたいのです。
(巷ではエクセル方眼紙とか神エクセルとか呼ばれてる感じのシートです)

ワークシートからテーブルにデータを整形するのであればPQでゴリゴリやればなんとかなるのですが、その整形したデータを再度神エクセルに落とし込む必要があるのです。
シート→テーブルの情報は数あれど、テーブル→シートの情報が見つからないと思って質問した次第です。

もし何かご存知でしたらよろしくお願いします。

363 :名無しさん@そうだ選挙にいこう:2023/11/12(日) 10:12:29.64 .net
後だし
死ね

364 :名無しさん@そうだ選挙にいこう:2023/11/12(日) 13:19:19.82 .net
後出しじゃねーな 普通に読めばデータをSheetに落とし込みたいとちゃんと読める
セル結合がごまんとあろうとも、セル番地はひとつなんだからたいして面倒だとも思えんが、どうなんだ
数あるシート→テーブルのサンプルがどんなんだか判らんが、その逆をやればいいだけのような
テーブルを気にせず、SheetからSheetへの転記のようなものだと思えば容易な気がするが
Excelのテーブルなのか他のDBのTableなのかでちょっと思案が必要ぐらいじゃ?

365 :名無しさん@そうだ選挙にいこう:2023/11/12(日) 13:48:12.76 .net
>>360
テーブルにするならIDに相当するものがあるかと。なければIDを作る。
帳票にIDの入力欄を作って、帳票の各セルはxlookupでIDを元にデータを持ってくるのが一般的かと。

366 :名無しさん@そうだ選挙にいこう:2023/11/12(日) 17:38:45.70 .net
別スレで質問したけどスルーされたので
こっちで質問します

win10
365
vba

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

367 :名無しさん@そうだ選挙にいこう:2023/11/13(月) 01:19:07.93 .net
Tiktok LiteでPayPayやAmazonギフトなどに交換可能な4000円分のポイントをプレゼント中!
※既存Tiktokユーザーの方はTiktokアプリからログアウトしてアンインストールすればできる可能性があります

1.SIMの入ったスマホ・タブレットを用意する
2.以下のTiktok Liteのサイトからアプリをダウンロード(ダウンロードだけでまだ起動しない)
https://lite.tiktok.com/t/ZSNfGYxDA/
3.ダウンロード完了後、もう一度上記アドレスのリンクからアプリへ
4.アプリ内でTiktokで使用してない電話番号かメールアドレスから登禄
5.10日間連続チェックインで合計で4000円分のポイントゲット

ポイントはPayPayやAmazonギフト券に交換可能!
家族・友人に紹介したり通常タスクをこなせば更にポイントを追加でゲットできます。

368 :名無しさん@そうだ選挙にいこう:2023/11/13(月) 03:31:42.10 .net
>>367
めっちゃ良いじゃん

369 :名無しさん@そうだ選挙にいこう:2023/11/13(月) 04:02:45.91 .net
>>368
死ね

総レス数 1002
267 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200