「SQL」を含む日記 RSS

はてなキーワード: SQLとは

2024-07-03

anond:20240703110722

日中コード書くか設計するかの仕事だけど

最後の二つは使えた試しがない

書くのがだるいSQLとかyamlフォーマットかには非常に便利だから使いまくってて1割くらいは生産性上がってる気はするけど

2024-07-02

ADHD 産んでごめん

子供発達障害じゃないかって言われた。

ぎくりとした。私も数ヶ月前から精神科に通院しているからだ。ADHD疑いで。

ADHD

子供の頃から忘れ物遅刻約束忘れ、すごく多かった。成績は良かった。大学も行けた。就活もして都内大手企業内定。苦手なことは3倍かかったし、ミスも多くて怒られた。みんなが出来ることが出来なかったが、幸いプログラムが組めた。ExcelVBASQLPythonコイツらのおかげで出世はできなかったが、仕事はできた。

子供が産まれからさらに苦しかった。

子供が産まれると予定が増える。1人目。まだなんとかなった。癇癪がすごい。子供の泣き声がすると2回警察を呼ばれた。殴ってない。むしろ殴られてた。2才だった。

2人目。

もう全然回らなかった。仕事家事育児。びっくりするくらい予定を忘れた。保育園の連絡帳。記帳がないかプールに入らなかったと言われた。ごめん。保護者面談2回忘れてた。PTA仕事。やらなきゃとわかっているのに手が動かない。もう、もう、ダメだった。

ずっとADHDなんじゃないかと思ってた。

でも障害者になるのが嫌だった。

個性だと思いたかった。今も。

精神科に行った。病院で薬をもらって飲んだら嘘みたいに頭がスッキリした。毎日完了タスクがぐるぐるしていた頭が真っ白になって、タスクに取り組めた。

もう。認めるしかなかった。

そして、今度は自分の子

の子も苦しむのか。知らずに産んでごめん。友達と一緒に遊んで悪気なく手を挙げたりするって。聞いたよ。私も全く同じことを子供時代にしていた。

ごめん。ほんとに。なんで知らなかったんだ。これから先、すごくすごく苦しいだろう。

私は友達と話す時、会社の同僚と話す時、素で話せたことはない。学習して学んだ適切な振る舞いをして過ごしてきた。だからすごく疲れるし1人になりたかった。今もそう。家族にもそう接してる。良い母の顔でずっと探してる。素の自分じゃ誰も好きになってくれない事を知ってるから。お母さん以外素の私を好きになってくれる人はいなかったから。

こんな文書いて何したいのか。

でもどこかに吐き出さないと次に進めない。

本当にごめん。ごめん。ごめんよ。

ADHDってどこかに場所があるのか?薬を飲んで健常者のふりをしても、それは私じゃない。ずっと自分否定ながら、明るいフリをして、元気なふりをしてこれから先生きていく。子供も。

療育を受けましょう。と、先生は言った。療育。健常者の考えそうなことだ。特性理解して付き合いましょう。もう、いやだいやだいやだいやだ

anond:20171109101528

子供発達障害じゃないかって言われた。

ぎくりとした。私も数ヶ月前から精神科に通院しているからだ。ADHD疑いで。

ADHD

子供の頃から忘れ物遅刻約束忘れ、すごく多かった。成績は良かった。大学も行けた。就活もして都内大手企業内定。苦手なことは3倍かかったし、ミスも多くて怒られた。みんなが出来ることが出来なかったが、幸いプログラムが組めた。ExcelVBASQLPythonコイツらのおかげで出世はできなかったが、仕事はできた。

子供が産まれからさらに苦しかった。

子供が産まれると予定が増える。1人目。まだなんとかなった。癇癪がすごい。子供の泣き声がすると2回警察を呼ばれた。殴ってない。むしろ殴られてた。2才だった。

2人目。

もう全然回らなかった。仕事家事育児。びっくりするくらい予定を忘れた。保育園の連絡帳。記帳がないかプールに入らなかったと言われた。ごめん。保護者面談2回忘れてた。PTA仕事。やらなきゃとわかっているのに手が動かない。もう、もう、ダメだった。

ずっとADHDなんじゃないかと思ってた。

でも障害者になるのが嫌だった。

個性だと思いたかった。今も。

精神科に行った。病院で薬をもらって飲んだら嘘みたいに頭がスッキリした。毎日完了タスクがぐるぐるしていた頭が真っ白になって、タスクに取り組めた。

もう。認めるしかなかった。

そして、今度は自分の子

の子も苦しむのか。知らずに産んでごめん。友達と一緒に遊んで悪気なく手を挙げたりするって。聞いたよ。私も全く同じことを子供時代にしていた。

ごめん。ほんとに。なんで知らなかったんだ。これから先、すごくすごく苦しいだろう。

私は友達と話す時、会社の同僚と話す時、素で話せたことはない。学習して学んだ適切な振る舞いをして過ごしてきた。だからすごく疲れるし1人になりたかった。今もそう。家族にもそう接してる。良い母の顔でずっと探してる。素の自分じゃ誰も好きになってくれない事を知ってるから。お母さん以外素の私を好きになってくれる人はいなかったから。

こんな文書いて何したいのか。

でもどこかに吐き出さないと次に進めない。

本当にごめん。ごめん。ごめんよ。

ADHDってどこかに場所があるのか?薬を飲んで健常者のふりをしても、それは私じゃない。ずっと自分否定ながら、明るいフリをして、元気なふりをしてこれから先生きていく。子供も。

療育を受けましょう。と、先生は言った。療育。健常者の考えそうなことだ。特性理解して付き合いましょう。もう、いやだいやだいやだいやだ

2024-06-28

anond:20240628132620

正解が「数学的」に決まるところ。たとえば「1■1=2 のときに ■を答えなさい」というときに競プロは■を答えるだろうし、それを早く答えて悦に入るだろう。

それもいいけど、いちど数学的に答えが決まっちゃう問題ライブラリにまとめられて、一般的コーダはなにも考えなくてもインポートして処理できちゃうわけ。上の例えだとふつーのプログラマなら「枯れたライブラリインポートして、正しく答えが出ると確信できるなら『答えは正しいとか考えなくても』それを使って対処する」ので、データの振る舞いとか気にしないで済む。たとえば SQL なんて、実行時計画という「アルゴリズムを常に指定するなら不要な」話題があるのだけど、データ量によって適切なアルゴリズムが変化するから仕方ないし、概ね RDB は賢いのでヒューマン考慮するのは問題がある場合だけなのだ。よって、競技プログラマが生産性を確実に上げるという根拠はない。

もちろん、アルゴリズム知識を身につけるのは大切だし、クヌース先生も書いてたけど分散処理アルゴリズムフロンテイアだろうよ。というか、暗号分野やセキュリティ領域や、条件が過酷場合宇宙線の影響下とか、メモリの少ないエッジコンピューティングとか)だと、アルゴリズム研究や追求は大切なのは今も同じだ。でも、競技プログラマが新規アルゴリズムを開発したり、セキュリティに向上したという話は聞いたことがないが、レッドコーダ諸君は自前で創造して使われた実績はあるのだろうか?

ついでに聞いてみたいのだが、競技プログラマたちは「マルチスレッドコードで早く書こうとしないのはなぜ?」「そもそも競技プログラミングで使うコードは便利なスニペッツがあるけどそれってチートでは?」「ときどき正規表現で解く問題があるけど、そのとき計算量は無視してない?」という矛盾を抱えているのてはないか?と思うのだが如何か。

究極的には競技プログラミングに必要知識というのは、産業用途要求される知識の一部でしかないのが問題なんだと思うよ。ほら、アレだよ、むかし話題になった「数学だけデキる人向けの東工入試をやったら、英語ができなくて卒業できなかった」という童話に近いんだよ。競技プログラムってインとアウトしか見てないブラックボックステストから、ここだけしか計算機科学の知識が無いというヤバ人材の育成しかなってないのだろうな。

それで、結語として「答えのある問題に特化した競技プログラマー」のヤバい理由として、列挙していくと

ということは、競技プログラマーは考えても良いのではないか

2024-06-25

anond:20240625195617

まあそれが意味のあるニッチな所では意味があるだろうね

でもいわゆる業務システム(株取引在庫管理CRM画像認識…)では限りなく0に近いレベル不要

複雑なSQLを書けるほうが100倍役に立つ

2024-06-15

Java知ってる人教えて

springでController、Serviceって感じであるんだけど

今だとSQLカラム特定の値なら◯、それ以外なら☓って具合にケース文でやってんだけど、

可読性も保守性も悪くなるから、ServiceかControllerか、もしくはjspで表示させろって言われたんだけど、どこでやるのが正解なの?

2024-05-28

anond:20240525203850

新卒COBOLerは大変だよな。なんせ一般的IT技術が全く身につかない。

順編成ファイルをJCLで一括ロードからSQLも分からないし、戻り値引数ブロック変数何ぞそれのレベル環境特殊からサーバ構築も当然できない。

スキルがないから他の案件に行けない経験詰めないでキャリア選択肢が狭まっていく。

ただ、品質管理だったり複雑なデータ連携整合性を考える論理思考だったりは一生役に立つ唯一の宝だな。

ワイも20年前は元増田と同じ境遇で悩んでたわ。その選択絶対に正解だと思うよ。

何はともあれ若者よおめでとう!新天地無限可能性を広げてくれ。

2024-05-25

anond:20240525012716 (anond:20240524224457)

マドンナとか、蒼井そらとか、元AV女優イタリア議員とかみたいに、クレイバーでタフだったり、

ガガとかみたいにそもそも実家ゴン太でもないのに、なんとなくで風俗嬢や類すること(水商売等)をしている人は、

明確に知能や判断能力問題があると思ってるし、セックス産業(物理)は無くなった方がいいと思ってるやで

 

理由は2つ

 

1. 『金が無いからこそ健康優先でデスクワーク』を導き出せないのは、どう考えても特別な困難ある
  困難の程度が低めであっても、のちの職業人生に重大な悪影響を与えるから、性や若さを売ればいいを覚えさせてはいけない

金ないからウーバーイーツやると同じくらいの狂気を感じる(車やバイク運転が何よりも好きでめちゃくちゃ運転も経路選択も上手い人は別)

もしくは半世紀くらい前の世界や法が及ばない後進国からやってきたとか

金が無いからこそ健康優先でデスクワークだろうにな
セクキャバで時給2000ー2500円とかみたけど
都内ならSQL叩ければ普通に出る額だぞ

もちろん、死ぬほど車/バイクが好きだから宅配やるぜと同じく、

死ぬほどセックス全般を愛していてセックススターになりたいっていうなら別だが

おそらくそうではなかろうよ

若い頃に楽して稼いじゃったからだぞ。風俗だけじゃなくて水商売も同じ

 

水商売接客が出来るなら、同性の同僚はともかく(フツーにキャスト同士で揉めてるし)

異性の同僚や上司なんて転がし放題よ

実際、それで、IT経験バツイチ子持ちアラサー↑で、

転がしまくって初アサインでフルリモートかつ残業ゼロ仕事を勝ち取った人おったよ

 

けどまぁ秒でやめたよね、給与が安い&やり甲斐がないか

 

やり甲斐スキルアップやある程度の給与求めるなら、英語が出来るんだし、

◯◯やった方がいいとかXXやった方がいいって言ったけど、

子どもいるから家にストレス持ち帰りたくないとか言ってやらないよね

 

苦労する=スキルアップ出来る ではないので、無駄な苦労はしない方がいいが、

かといって、若さや性を売って簡単に金を稼げるは覚えさせてはいけない

後の就業に大きな影響与えるし、年取ったら水商売風俗給与安いし自尊心傷つくぞ

 

2. セックスワーカーは母親になる可能性がある

ポルノスターに成り上がるようなタフでクレイバーな人ではなく

食い物にされるようなタイプAV女優とか風俗嬢母親とか

実際子どもにとって悪夢そのもやろ

文明人としての建前は守らなきゃいけないのでリンクは貼りませんけど

現実もっとキツイです

とあるAV女優風俗嬢の子供は、リフレキャバ嬢だよ

ママは先輩でライバルだねだそうです

まぁこれは一例で、親子二代AV女優だったり、風俗嬢だったりなんてのもあります

 

ウシジマくんにも似たような話あったなぁって思います

 

もちろん、現実仕事に思い悩むセックス産業女性と面と向かったとしても、

必死自分生活を立てようとしている彼女たちをがんばったねって肯定尊重するフリをすると思います

ひとりの人間が考え、自己決定したことからです

『お前の知能で考えたことはまともじゃないので従いなさい』なんて絶対言いません

我が身がかわいい以前に、頑張って生きている人を面と向かって蹴り飛ばすとか、人生全否定とか、フツーは出来ないです

 

でもまぁ、その結果、現実で起こることはキツイっす

現時点では建前上は二世タレントとなにも変わらないからね

個人的にはカルト教団コミューンの話に思えます

1億歩譲って本人はクレイバーでタフならよしとしても、その子どもは外の世界価値観で育ててあげて欲しいと思います

2024-05-08

anond:20240507213947

割とクソどうでもいい記事だった。

日本語英語で述語・目的語の並び順がちがうけど英語の順番の方が性に合ってるよね、てな具合の話。

 

最終的にコンパイルしてSQLに変換するって事は、

じゃあ検索効率も出来る事も事実上向上する可能性は全く無い。

一方で生のSQLが見えなくなるから調整もできなくなって

そうやって得るものが "ちょっと文法上の語順が変って(僕にとっては)わかりやすくなったよ" だけというのは閉口するな

anond:20240508074736

https://anond.hatelabo.jp/20240507125309

はい

ではなく、SQLは処理じゃなく、定義であることを理解するのが大切。

何の定義かと言えば、リレーショナルデータモデルへの演算定義なんだよ。この演算には、関係代数という演算を使う。

なぜ定義だと認識する必要があるかという、Selectは出力でも何でもなく、射影という演算の一部なんだよ。

"+3" とかと一緒

 

で、関係代数演算順位にもちろん意味がある。最初に"射影"して"選択"かけたら全く別になる。

SQLは、この演算順位を、SelectやWhereの中で状況によって意味が変わる。という出鱈目なカバーで逃げた。Order byで悩んだろ。

さらに言えば、苦肉の策でWhereのパチモンはどうしても2回必要でHavingを作ったのよ

 

本来で言えば、この演算は、選択-結合-射影-結合といくらでも出来る。

なのにSQL普通演算で言えば

「足し算は頭に一回書いてください。複数使う時はかっこつけて下さい。ちなみに、掛算を一緒に使うと足し算の意味が変わり場合によってはエラーです」みたいな安直構造定義しちゃってるの。

 

リレーショナルモデルへの演算としてだダサダサで、リレーショナルモデル演算の複雑さではなくSQLという表現の都合で人類の頭に負荷かけ続けてる。

出力が頭にあるのは便利(間違い)。英語から(間違い)。って言われると何言ってるんだーって、ちょい昔のまともなデータベースエンジニアなら普通にキレてた案件

anond:20240507215928

別にC#LINQとか使ってるから入力が先に来るのも知っている

ただ、出力が最初に来るのが分からないって言ってるからいや、それプログラミング思考の順序と同じやんってなるわけで。

から、あのSQLが分からないって言ってるのSQL別にプログラム関数として考えるのであれば

戻り値入力){処理+条件}

で、別に何も変わらないと思うんだけど

Order byは出力じゃなくって処理に含まれると思うんだけど出力になるか?

出力順の設定は出力より前で実施されるのであればそれは処理だと思うんだけど出力になってるし。

2024-05-07

anond:20240507213947

スライドの後ろの方に出てきてるdbplyrとの比較

SQLを挙げてるのになぜその関数定義比較するのか。

dbplyrは知らないけど、こういうORMによくある

記述順の方がずっと分かりやすい。

anond:20240507215024

その記事はおおげさなこと言って

そのギャップちょっとした改善を凄い改善だって言いたいだけだと思うよ

SQLはクソ!!みたいな部分はギャップを出すための表現であって本質ではないってこと

anond:20240507214342

そう、補完機能が使いづらいからならまぁわかるんだよね

でもだったらGUIツールSQLの出力部先にある程度組み立てて支援使えばよくね?とも思うので

順序性でわからないって言われれるといや、プログラム考えるとき思考と同じ順序では?になるので

何が言いたいのかわからんになるの

anond:20240507213947

使うテーブルがどこになるとか項目名がどうなるかが、from以降書いてからじゃないと判断しにくいことが多いので

処理書くとき最初select句の内容が書きにくいってことは結構あると思う。

とはいえ、いったんselectの中身は空欄にしておいてfrom以降書いてから戻って来たらいい程度で

SQLのクソさの本質全然掴んでない記事だとは思う。

読むときは当然、出力が最初にあったほうがわかりやすいしね。

SQLを滅ぶべしを見て何も分からなくなった

https://www.docswell.com/s/hoxo-m_inc/Z4Q8NL-2024-05-06-203800#p11

出力が先に来ることが分からないって言ってるけどプログラム書くとき殆ど言語においては出力が先に来ると思うんだけどそれもわからないんだろうか

public String test(String args){

return args;

}

大抵戻り値(出力)が先で引数入力)が来て処理が来ると思うんだけど違う?

プログラムを書くときって出力の要件を元にして処理と入力が決まると思うんだけど違う?

シーケンスとか書くと確かに入力が元に来るんだけどプログラムの当初設計をするときは出力が先で出力を得るための入力と処理が決まる物だと思うんだ

入力を決めて処理と出力を考えてたら考慮漏れ発生して手戻り発生しない?

補完がやりづらいからっていうのはわかるけど、そんなんFROM句先にかけよで終わると思うので

出力が先に来ることが分からないって言ってるのがプログラム的にも普通出力が先じゃ?って頭が混乱している

SQLが糞だと思わないのは、ブクマカ馬鹿が進行しているか

https://b.hatena.ne.jp/entry/s/www.docswell.com/s/hoxo-m_inc/Z4Q8NL-2024-05-06-203800

まともにコンピューターサイエンスやってSQL使ってれば

「わかるー射影はステップ最後なのに、select名前変更とか拡張とか全部乗せて先に書くのキモいよねー」

一言で終わりなのよ。

 

ブクマカは、英語ですからとか言い出してる。英語からって集合演算で射影を先に書くなんてねえよw

やばいSQL使ってるのに、SQLで実現してることが分かってない。さらには俺はSQLに詳しいとかい雰囲気出しててやばい

高度な話題?なわけねえだろwiki読むだけでいいレベルなのよ。

https://ja.wikipedia.org/wiki/%E9%96%A2%E4%BF%82%E4%BB%A3%E6%95%B0_(%E9%96%A2%E4%BF%82%E3%83%A2%E3%83%87%E3%83%AB)

X検索すると似たような言及してる奴が多いし、別に高度な問題でも何でもないのである。というか基本情報範囲

 

  

こんなのがテクノロジーカテゴリでマサカリなげてる。一般カテゴリ劣化はどっちかつうと過激なんだけど、テクノロジーカテゴリは明確に馬鹿が進んでる。

日本語の唯一のテクノロジーソーシャルサービスが、SQLからずマサカリなげるってやばくね?

大丈夫日本

2024-04-27

例のSQL関係他者ソフトを悪く書いてプチ炎上したブログ記事に書いてあった著者名と一緒に検索してみたら存在を抹消されてるみたいで笑っちゃったんだよね

検索結果では「田中です」(仮名)って書いてるのに記事を開くと一切名前が書いてないの

あと「こんにちは田中です。」ってなってたところが「こんにち。」になってる記事があって更に笑っちゃった

2024-04-26

anond:20240426171640

一時期やたら騒がれてて猫も杓子もNoSQL使いたがったけど結局大半のプロジェクトSQLRDBMS回帰したな

もちろん向いてるケースはあることにはあるんだけど

anond:20240426123109

Excelできます

入力できます

英語読めますが話せません

python, php, ruby, perl, sqlができますし、AWSもわかります

でも給料は低いです

2024-03-05

SQLなんか覚える必要なかった

全部AIが書いてくれる

俺の苦労は何だったんだ

2024-03-02

エクセルマクロのお作法計算用シートという諸悪の根源について)

前置き

この日記の内容は、会社の後輩から最近エクセルマクロ勉強し始めて(キラキラ)」という話を聞いて、先輩ムーブかますために話した内容になります

とにかくこれから説明する「計算用シート」が憎くて憎くてたまらず、ちょっと引かれるほど熱弁してしまいました。

ただ、他の方がどうされているのかや、逆に「計算用シート」を愛用する方の意見も聞きたくなり、増田に書いてみました。

増田の経歴

この記事趣旨

エクセルマクロのお作法とか書きましたが、要するにエクセルマクロで「計算用シート」って色々な意味でよくないよね、という話をしたいです。

3行でまとめます

〇 エクセルシートはユーザーインターフェースインプット)か出力結果(アウトプット)のためのものとすべき

〇 データ加工をする場合には、原則配列辞書配列連想配列)に格納して加工を行い、最後の結果だけシートに出力するべき

〇 何事にも例外はある。

計算用シートとは

この記事では、エクセルシートを下記の通り分類します。

エクセルマクロにも色々あると思いますが、今回は下記を想定します。

日付や人物名などを入力し、データベースや別のエクセルファイル、別のシートから取得したデータ入力された値を基に加工し、加工後のデータをシートに出力する

この場合入力欄があり編集可能なシートがユーザーインターフェース、最終的に加工されたデータが出力されるシートが出力結果です。

(もちろん、ユーザーインターフェースの別の欄(セル)に出力する場合もあるし、その場合ユーザーインターフェース出力結果が一体のものとみなします。)

また、データ用シートは同じエクセルファイル内に基となるデータが含まれ場合を想定します。

(これ自体が非推奨で、SQLデータベースかせめてAccessを使え、という意見はありますがそれは別にして…)

ではここで定義する計算用シートとはなにかというと、文字通り計算を行うためのシートです。

例えばイメージするのはこんなマクロです。

1.元となるcsvファイルエクセルに読み出してシートに格納

2.そのデータは日付が数値型になっているので、日付(数値型)の入った列を文字列に変換した日付(文字列型)列を新たに作成

3.その列をキーとして対象となるデータを取り出すvlookup関数を各行に格納した列を新たに作成

4.その列で特定された列をさらに加工した列を新たに作成し、…

これは極端な例ですが、とにかく変数配列定義せず(あるいはエクセルセルオブジェクト変数のように扱い)、エクセルに値を入力し、それを直接加工することで目的となるデータ加工をしたり、様々な処理をします。

その舞台となるのが、計算用シートです。

なんかこんな感じの処理をしているエクセルマクロ、どこの会社でも腐るほどあるんじゃないでしょうか。

ある程度マクロに慣れた気の利く人なら、このシートはロック非表示にして、ユーザーから触れないようにするでしょう。

・・・これ、やめたほうが良くないですか?

こいつが日本生産性を落とす諸悪の根源だと思います

駄目な理由

ある程度詳しい人なら同意してくれると思いますが、このやり方でダメ理由はいっぱいあります

後で説明する配列辞書配列連想配列)と比べると格段に処理が遅いです。

わざわざエクセル操作しているから当然ですね。

ちょっと詳しい人が知っている「画面更新非表示」を駆使しても、配列を使った処理からみれば止まったハエです。

(参考)VBAで作ったマクロの高速化① 配列を使う

  • 可読性が下がる

いったんエクセルシートにデータを格納して加工しているので、コードエクセルシートを両方見る必要があり、とても読みにくいです。

変数として命名されていないのも致命的で、処理の意図が余計に分からなくなります

計算用シートを事前に用意して、別のセル関数を格納しておき、マクロ関数を使ってデータ加工をするものも見たことがあります

これは懲役刑に処したほうがいいと思います

まり知られていませんが、セルの最大文字数は32,767 文字です。

セルの最大文字数を超えると自動的に隣のセルに値が入り、シートが滅茶苦茶になります

他にもエクセルの数値を丸め自動変換の仕様とか文字列→日付の自動変換とか、いくつものバグに苦しめられます

できる人だと、いちいち最大文字数が多い場合の処理を書いたり自動変換機能を殺したりしてくれますが、そんなことに手間をかけているか日本GDPは上がらないんだと思います

他にも、データが大きくなると処理が重くなり不安定になる、計算用シートを人が触ってしまリスクがある、などいくらでも理由は上げられます

(逆に利点は、目の前でガチャガチャ動いてスーパーハッカーになった気分になれるくらいしか思いつかない・・・

じゃあどうするの

配列を使いましょう。

配列とは何ぞや、という人はググってください。

配列データを入れて、データ加工は配列変数に対して行い、一番最後の出力だけセルに値を格納する。

他のプログラミング言語なら普通にやっていることです。

個人的オススメしたいのは辞書配列連想配列)で、うまく使うとデータ管理簡単になり、処理も爆速になります

(参考)【VBA】大量データから高速で値を検索【Dictionaryを使う】

csvファイルもなまじエクセルで開けるだけに別のブックやシートで開きがちですが、これは悪魔のささやきです。

直接ファイルを読み出してLine InputやSplitで配列に格納しましょう。

エクセルとして開くやり方はコード書くのは簡単でも、実行時間に天と地ほどの差が出ますエクセル開くと処理もめちゃ不安定です。

(参考)Excel VBAでCSVオープンするときのパフォーマンス比較

いや、冒頭のマクロを書く人の気持ちも分かるつもりです。自分コードを書き始めたころは全部シート上で操作していました。

冒頭のマクロのほうが直感的なんですよね。自分が手で書くことをマクロやらせる、というマクロ本来趣旨にはあっていますし。

途中の計算過程もすべて目の前で展開されるから分かりやすいです。

ただ、それではダメなんです。。。処理は遅いし挙動不安定だし後で改修・保守する人が死にます

あと、エクセルシートやセルは当然エクセルしかないので、エクセルマクロVBAから他の言語に移れなくなります

自分エクセルマクロの里の出なので、計算用シート脱却には苦労しましたが、苦労して会得した配列辞書配列連想配列)のスキルはそのまま他の言語に活かすことができました。

配列の中身を見る方法別にある(ローカルウィンドウやDebug.printを使うなど)ので、リハビリに取り組んでほしいです。

(参考)VBA デバッグの仕方

もちろん例外もあります

計算用シートを許容できる、使うべきケースもあると思います。。

個人的には、

最後のは、なんでも自分確認しないと気が済まない上司発注で、意味不明と思いましたしたがしぶしぶやりました。)

などの場合計算用シートを使ってもよいと思います

この場合インプットエクセルシートに直接加工するのは論外なので、計算用(加工用)のシートを用意してそこで操作を行うことは必要だと思います

他にも、こういうときは「計算用シート」があったほうが良い、という状況があれば教えてもらえると嬉しいです。

最後

そもそもツッコミとして、「データ加工するならエクセルマクロを使わずpythonとかRとかもっとまともな言語使えよ」という言葉が来そうな気がします。

ただ、個人的にはエクセルマクロVBA)は大好きですし、初心者にもおすすめしたいです。

自分のような非エンジニアだと、セキュリティ関係などでPythonの開発環境とかすごく用意しにくいんですよね。

(あと、コマンドプロンプトの真っ黒な画面が怖かった)

その点エクセルマクロは、開発環境の用意はプロパティでチェック項目を一つオンにするだけだし、入門書がたくさんあるし、セル挙動を追えば視覚的にプログラム理解できるし、初心者に優しいです。

(そのやさしさが上述したとおり悪魔の罠なわけですが。)

最初計算用シートに頼ってでもエクセルマクロからプログラミングを始めて、本格的なデータ加工をし始めたあたりで計算用シートという諸悪の根源から脱却する。

さらに本格的なデータ処理を行うために、PythonやRなど別の言語習得したり、エクセルからSQLデータベースやACCESSなどに切り替えていく、というプロセスがいいのではと個人的に思います

ログイン ユーザー登録
ようこそ ゲスト さん