「操作」を含む日記 RSS

はてなキーワード: 操作とは

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などに切り替えていく、というプロセスがいいのではと個人的に思います

anond:20240302034955

中国EVバスとか激重みたいだし、空飛ばないかいくらでも重くできるみたいな設計思想なんだよな

空飛ばなくても、自重操作性は大きく変わるだろうに…

あと、バッテリーがやたら燃えるのとか中国EVってどうなんだろう

2024-03-01

久しぶりにフォトショを開いた。

つの間にか、別名保存がPSD他レイヤー構造を保持した形式しか保存できず、pngで保存するにはコピーを保存で保存しなければいけなくなっていた。

ファイル名も毎回、新しいファイルコピー.pngみたいな名前が標準で設定されるので余計な部分を手動で削除しないといけない。

こう言う細かいところの操作性をバージョンごとに変えるなよ。君何年この仕事やってるの?ショートカットに対する動作バージョンごとに変わったらユーザー困惑するでしょ?

なんでそう言うこと言われないと分からないし、言っても治さないかな?そんなことやってたら、信用失って将来この業界でやっていけなくなるよ?

実際のところ、絵師は本気で生成AIつぶせると思ってるの?

煽りじゃなくて聞きたい

まず、どう考えても芸術以外の対象で生成AIがなくなる未来はもう絶対にあり得ない。

コード自動生成は米国IT界隈はおろか日本ですら一瞬で普及した。

自然言語処理事務ソフトウェア自動操作欧米では6割以上導入、日本大企業マイクロソフト経由で入り始めている。

普通に考えて、生産性が違いすぎるし、利益を得る欧米著作権根拠にこれ規制するとかありえないだろう。

そもそも著作権というのは国が利益を得るためにできたもの

プログラムコード特許じゃなく著作権管理される流れとかを少しひも解いても、欧米大企業に有利な方向にもってくに決まってる。

この状況でイラストだけ規制されますかいう流れ、マジでありうると思ってる?

芸術は別枠だからEUとかの活動家が頑張ればワンチャンあると思う?

どういう展望を持ってるのか疑問なので聞きたい

40手前、漫画家を辞めて転職しようと思うのですが、まともな職業転職することは可能ですか?

冠婚葬祭以外でスーツもろくに着たことのない人間が、まともな職業転職することは可能ですか?



フルデジタルで絵を描いているので、PC周りのスキル器用貧乏な感じなのですが、

その道のプロというほど使いこなせるかといえばそうでもないため、40代から転職で役に立てる気がしません

anond:20240301100131

そうか、昨日話題になった1.58bit LLMのニュースが潰されたわけか……

大谷翔平結婚発表を操作するなんて、そこまでしてAIで国を乗っ取りたいのか!?アベゆるせない……!

anond:20240301082444

ハードが生み出すソフトという認識から

いまは分泌物に足し引きしたりして手動操作するという方法で処理している、直接プログラムに手を加えるという方法はまだとうぶん先かなぁ

2024-02-29

anond:20240229092359

パチカスのほうが嫌がるんじゃねえの 玉の挙動操作されるカスアプリだって言ってさ

教師が意地悪で給食時間を短くしていると思っているバカ

一年間にこれを教えましょうとかこれをやらせましょうとか学習指導要領で決まってるわけ

国が、文部科学省が決めてんの

法的拘束力があるかどうかは微妙ラインだけど無視すれば訴訟リスクもある

土曜授業がなくなって久しいのにそれを考慮せず

減らすどころか英語学習小学生のうちからやれとかPCタブレット操作を覚えさせろとかディベートやらせろとかあれこれ詰め込んで

国のせいで予定がギチギチになってる

アレルギー持ちや発達障害の子はどんどん増えていくし保護者も躾とかろくにしないから色んな「対応」でどんどん時間が過ぎていく

時間余ったから好きな本を読んでいいとか外で雪遊びするかとかなんかビデオ見るかなんて余裕はなくなって

削られるのはそういった遊びの時間

担任個人趣味子どもに意地悪をして憂さ晴らしするために年間を通して給食時間勝手に短く設定している!!みたいな妄想に憑りつかれている奴が多すぎてマジかってなる

もしお望み通り給食時間をなが~~く取ったら学習指導要領をこなすために授業がよりハイスピードになって落ちこぼれる子が増えるだろう

から夜遅くまで学校缶詰にしておくわけにもいかないし

というかツルツルした食べ物が何かの拍子にスポッと喉に入り込んでしまうとか大人でも年間通したら数十人か数百人か知らんけど死因としては稀にとはいえ存在するものだろう

気をつけていても日本中のどこかで誰かが起こしてしま可哀想事故しかない

食べ物を喉に詰まらせてしまった」これだけのことでいちいち大騒ぎしなくてもよい

2024-02-28

anond:20240228231257

でも操作方法がわからずにモタモタして後続から舌打ちされて家で泣いたりするんでしょう~?

2024-02-27

社内マッチング福利厚生にしている会社が増えているとか、NHKでやってた

AIチャットを見て、話の展開を提案したり、告白タイミングを教えてくれたりするらしい。

いよいよ、AIによる人間操作が始まったね!ディストピアも目の前だ!

anond:20240227202457

弊社ホワイト企業は退勤打刻後にPC操作ログがあると人事部から問い合わせが来るやで

ジャンケンデフォルトがグーなのが問題じゃないか

じゃん・けんで音頭を取るときデフォルト状態がグーじゃん

そりゃ統計的にグーを出す人が多くなるよね

あとチョキだけ手の操作がややこしいのもよくないし

725人から集めた、のべ1万1567回のじゃんけんの記録が残っています。725人のおのおのが、1020回のじゃんけんをして得たもので、のべ1万1567回の内訳は、グーが4054回、チョキが3664回、パーが3849回です。

 

ガイジの限定ジャンケンみたいにカードゲーム方式で手を出すジャンケンだったらおそらくこういう偏りは出にくい

anond:20240226114853

松戸市プレミアム商品券で同じ経験したわ

調剤薬局弁当屋で使えると市役所特設サイトに書いてあったので購入したが

調剤薬局では、処方薬には商品券使用できず、おまけみたいに少しだけ売ってる市販薬しか使えないと言われ

弁当屋では「松戸市プレミアm…」と商品券名前を言い終わらないうちに「あー使えません使えません!」

その弁当屋従業員は婆さんしかいないので、役所が貸したタブレットを誰も操作できなかったんだろうなと妙に納得し、

再度役所サイトを見たら弁当屋名前は綺麗サッパリ消えていた

2024-02-26

2歳児のドラえもん認知

週末に居間ユリイカ1月号を読んでいたら、遊びに来ていた2歳の甥っ子に取り上げられた

硬い紙でできた厚い本をパラパラとめくっては楽しそうにしていた

私が絵のあるページの方がいいかと開くと、パラパラと風を起こすようにめくり繰り返す所作がただ気に入ったらしく絵を見たりはしていなかった

顔に近づけすぎたり、紙で手を切らないように眺めていたら、「読み聞かせ」と言ってきた

詩か追悼文かpanpanya評論しか載っていない雑誌家族の前で甥っ子に音読する気はしなくて困っていると、

さきほどCMか何かを見て「どりゃぇもん」と彼がつぶやいたのを思い出した

からのび太宇宙開拓史』の漫画版を持ってきて、甥っ子に差しだした

今度は絵ばかりの漫画なので、甥っ子は指差しをして、「こえだえ?(これ誰)」と繰り返し聞いてくる

ジャイアン、それはスネ夫。それもスネ夫だね。それはのび太。それは中学生」と答えた

なんか先ほど、「どりゃぇもん」と言っていた割には薄い反応で、カバーをめくりとって遊びだしていた

そのあとでPCを触っていたら、「ピぽピぽして」というので、キーボード操作して、サブスクドラえもん検索して、ドラえもん1話分見せた

適当に選んだ、ドラえもん風邪を引いてドラミちゃんが看病しようとする回

彼は私の足の上に座っていたので表情は見えなかったけど、「こりゃがどりゃぇもん!」と楽しそうに言った

「これもドラえもんだよ」と先ほどの『のび太宇宙開拓史』を指さすと、ぶるんぶるんと頭を振って否定をされた

甥っ子にはまだたいして言葉も通じないし、どこまでの思考能力があるのかは知らん

から、彼の言葉動作意図が「アニメで動いているのが僕が見たかったドラえもん」という指摘なのか「この漫画キャラドラえもんではない」という直接の否定なのかはわからない

しか漫画版と今のアニメドラえもんは、頭の形や色見が違うなと思いつつ、「F先生ドラえもんドラえもんじゃないわけないけどな」という気持ちがムクムク浮かんできた

わさび声のドラえもん原作に近い生意気さと友達感を増しているとどこかで読んだなと思いつつ、注射を嫌がり、ドラミちゃんから逃げ回るドラえもんを二人で眺めていた

これが彼の好きなドラえもんなんだなと思いつつ、私も大山のぶよ声の保護者っぽいドラえもんと、『のび太の創生日記』みたいな入り組んだ話が子供の頃から好きだったんだよなとか考えていた

2024-02-25

Macユーザー増田リアルに使ってないアプリ

あーでもないこーでもない…macだとこんなに便利とかWindowsだと標準装備だぞとかバカなのかなと思いながら。


■Alfred

Spotlightで十分では? appの起動もファイル検索電卓()もできるじゃん。

一回入れてみたけどよくわからんかった。細々したコマンド入力するのもダルいマウス操作で良い。

トラックパットでもちもち仕事してる人向け?マウス縛りしてるひとにはいいのかも。

キーボードに集中していて、マウスに持ち替えるたび意識が阻害されるタイプ職種のひとには合ってると思う。



■BetterTouchTool

からない。いらない。

やっぱノート民が主語拡張してmacで〜〜〜とか言ってるだけな気がする。

トラックパット上で3本指4本指で肩をすぼませてちまちま操作するならマウス使ってダイナミックに操作しようぜ。そっちの方がストレスフリーよ。


■Karabiner-Elements

イキってUSキーを買ったバカタレが英語/かなキーの割り当てのためだけに導入するアプリってイメージ

あのあの、最初からJISキーにすればいいですよね。え、JISキーは美しくない? シンプルじゃない?

見た目のためにわざわざ外部アプリを入れてごちゃごちゃ設定する方が美しくないしシンプルじゃないと思います

ハード面で余計な選択をしてその解決のために余計なソフトを入れるってかなり美意識を疑う。クソみたいなマッチポンプ

JISキーシール貼った方がよっぽどシンプル()だぞ

■Yoink

一瞬便利そうに思ったけどイマイチ使う用途が思い浮かばない。

ちっちゃい画面で仕事してるひと向け?

でっかい画面で仕事をしよう!



じゃあお前はなに使ってんだよバーーーカ!


JeditΩ

JeditJeditXから使っている。検索置換が便利。

■Clipy

クリップボード履歴くらいはOS標準にしてもよいのでは……。

まあそれとは別によく使う文章登録できるので仕事上良く使う注釈などは登録している。


■JumpDesktop

出先でiPadから自宅のMac操作できるので便利。ノート買っとけという話ではある。

クソデカファイルDLしても実際にDLしているのは自宅のマシンなのでモバイル通信残量を使用しないというのはノートと比べた際の利点か。些細ではあるが。

■SPAi

神。イラレ上でスクリプトショートカットで実行できる。クソ便利。戻れない。



■ParallelsDesktop

スケベなゲームします。

いちおうそれだけではなく、客からWMVで欲しいと言われた際にエンコードのためだけに使用します。

MacAdobe製品だとWMVエンコできないんですよね。たまげたね。



iPad


iA Writer

エディタ買い切りなのがいい。iCloudに保存してMaciPadとの反復作業可能


■Lok Board

入れてみただけ。まるでデスクトップのようにiPad操作できるが、あらかじめ定められたアプリしか使用できないので自分用途には合わなかった。

ファーストインプレッションのワクワク感は異常。

anond:20240225140256

増田が素晴らしいなんて思わないがヤフコメが素晴らしいとか民度高いとか正気を疑うかニワカを疑う

マジでコメント操作エグいしリベラルの顔色伺い過ぎて気持ち悪いレベル

まあどうせヤフコメをまともにやったこともないか弾圧操作統制が大好きなリベラルなら理解は出来まいが

なぜリベラルフェミニスト理想イデオロギー絶対独裁国家になりがちなのか

掲示板SNSだと運営コメントの削除や操作が行き届いてるとリベラルから評価が高くなり(旧Twitterや現ヤフコメ

操作をあまりしない(ふたばちゃんねる、5ch、増田)になると激おこになる

自由(笑)リベラル(笑)

anond:20240225135847

Yahooが全くまともじゃないというコメントを認めたくないから中身に触れてないのがお前

Yahoo運営操作しまくっててヤバイ

anond:20240225134230

滅茶苦茶に操作されてるし記事へのツッコミ賛同を集めても消されるし

最近コメント操作するためにトップに下らない的外れ御用学者を何人も並べ立ててる

リベラルが望んでるのはこれを社会適用しようってことなんだよね?何がリベラリズムだよクソ喰らえ

anond:20240225111338

最近仕切りにYahoo以下とか言う奴いるけど、それはコメントがすぐ消されたり運営操作されまくってるからだな

そこそこやってた奴なら消されるから分かるだろ俺も元阪神の藤浪馬鹿にしたコメントで7000いいね以上貰ったが消された

5ch以下はフカしてるだけだな

それかリベラルフェミニスト嫌儲オタク弱者男性日本日本人がボロクソに貶されてるのを見て溜飲下げてるだけ

anond:20240225081428

自分によってうつ病発症するものは強烈な自惚れに侵されている

自分に正しい完璧な力があるべきと信じ、そして現実を受け入れられず死ぬ

人間自身さえまともに操作できないのに

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