はてなキーワード: 大文字とは
この日記の内容は、会社の後輩から「最近エクセルマクロを勉強し始めて(キラキラ)」という話を聞いて、先輩ムーブをかますために話した内容になります。
とにかくこれから説明する「計算用シート」が憎くて憎くてたまらず、ちょっと引かれるほど熱弁してしまいました。
ただ、他の方がどうされているのかや、逆に「計算用シート」を愛用する方の意見も聞きたくなり、増田に書いてみました。
エクセルマクロのお作法とか書きましたが、要するにエクセルマクロで「計算用シート」って色々な意味でよくないよね、という話をしたいです。
3行でまとめます。
〇 エクセルシートはユーザーインターフェース(インプット)か出力結果(アウトプット)のためのものとすべき
〇 データ加工をする場合には、原則配列や辞書型配列(連想配列)に格納して加工を行い、最後の結果だけシートに出力するべき
〇 何事にも例外はある。
エクセルマクロにも色々あると思いますが、今回は下記を想定します。
日付や人物名などを入力し、データベースや別のエクセルファイル、別のシートから取得したデータを入力された値を基に加工し、加工後のデータをシートに出力する
この場合、入力欄があり編集可能なシートがユーザーインターフェース、最終的に加工されたデータが出力されるシートが出力結果です。
(もちろん、ユーザーインターフェースの別の欄(セル)に出力する場合もあるし、その場合はユーザーインターフェースと出力結果が一体のものとみなします。)
また、データ用シートは同じエクセルファイル内に基となるデータが含まれる場合を想定します。
(これ自体が非推奨で、SQLデータベースかせめてAccessを使え、という意見はありますがそれは別にして…)
ではここで定義する計算用シートとはなにかというと、文字通り計算を行うためのシートです。
1.元となるcsvファイルをエクセルに読み出してシートに格納
2.そのデータは日付が数値型になっているので、日付(数値型)の入った列を文字列に変換した日付(文字列型)列を新たに作成
これは極端な例ですが、とにかく変数や配列を定義せず(あるいはエクセルのセルオブジェクトを変数のように扱い)、エクセルに値を入力し、それを直接加工することで目的となるデータ加工をしたり、様々な処理をします。
なんかこんな感じの処理をしているエクセルマクロ、どこの会社でも腐るほどあるんじゃないでしょうか。
ある程度マクロに慣れた気の利く人なら、このシートはロックや非表示にして、ユーザーから触れないようにするでしょう。
・・・これ、やめたほうが良くないですか?。
ある程度詳しい人なら同意してくれると思いますが、このやり方でダメな理由はいっぱいあります。
後で説明する配列や辞書型配列(連想配列)と比べると格段に処理が遅いです。
ちょっと詳しい人が知っている「画面更新の非表示」を駆使しても、配列を使った処理からみれば止まったハエです。
いったんエクセルシートにデータを格納して加工しているので、コードとエクセルシートを両方見る必要があり、とても読みにくいです。
変数として命名されていないのも致命的で、処理の意図が余計に分からなくなります。
計算用シートを事前に用意して、別のセルに関数を格納しておき、マクロと関数を使ってデータ加工をするものも見たことがあります。
あまり知られていませんが、セルの最大文字数は32,767 文字です。
セルの最大文字数を超えると自動的に隣のセルに値が入り、シートが滅茶苦茶になります。
他にもエクセルの数値を丸める自動変換の仕様とか文字列→日付の自動変換とか、いくつものバグに苦しめられます。
できる人だと、いちいち最大文字数が多い場合の処理を書いたり自動変換機能を殺したりしてくれますが、そんなことに手間をかけているから日本のGDPは上がらないんだと思います。
他にも、データが大きくなると処理が重くなり不安定になる、計算用シートを人が触ってしまうリスクがある、などいくらでも理由は上げられます。
(逆に利点は、目の前でガチャガチャ動いてスーパーハッカーになった気分になれるくらいしか思いつかない・・・)
配列を使いましょう。
配列とは何ぞや、という人はググってください。
配列にデータを入れて、データ加工は配列や変数に対して行い、一番最後の出力だけセルに値を格納する。
個人的にオススメしたいのは辞書型配列(連想配列)で、うまく使うとデータの管理が簡単になり、処理も爆速になります。
(参考)【VBA】大量データから高速で値を検索【Dictionaryを使う】
csvファイルもなまじエクセルで開けるだけに別のブックやシートで開きがちですが、これは悪魔のささやきです。
直接ファイルを読み出してLine InputやSplitで配列に格納しましょう。
エクセルとして開くやり方はコード書くのは簡単でも、実行時間に天と地ほどの差が出ます。エクセル開くと処理もめちゃ不安定です。
(参考)Excel VBAでCSVオープンするときのパフォーマンス比較
いや、冒頭のマクロを書く人の気持ちも分かるつもりです。自分もコードを書き始めたころは全部シート上で操作していました。
冒頭のマクロのほうが直感的なんですよね。自分が手で書くことをマクロにやらせる、というマクロ本来の趣旨にはあっていますし。
途中の計算過程もすべて目の前で展開されるから分かりやすいです。
ただ、それではダメなんです。。。処理は遅いし挙動は不安定だし後で改修・保守する人が死にます。
あと、エクセルシートやセルは当然エクセルにしかないので、エクセルマクロ(VBA)から他の言語に移れなくなります。
自分もエクセルマクロの里の出なので、計算用シート脱却には苦労しましたが、苦労して会得した配列や辞書型配列(連想配列)のスキルはそのまま他の言語に活かすことができました。
配列の中身を見る方法は別にある(ローカルウィンドウやDebug.printを使うなど)ので、リハビリに取り組んでほしいです。
(参考)VBA デバッグの仕方
計算用シートを許容できる、使うべきケースもあると思います。。
個人的には、
(最後のは、なんでも自分で確認しないと気が済まない上司の発注で、意味不明と思いましたしたがしぶしぶやりました。)
この場合、インプットのエクセルシートに直接加工するのは論外なので、計算用(加工用)のシートを用意してそこで操作を行うことは必要だと思います。
他にも、こういうときは「計算用シート」があったほうが良い、という状況があれば教えてもらえると嬉しいです。
そもそもツッコミとして、「データ加工するならエクセルマクロを使わずにpythonとかRとかもっとまともな言語使えよ」という言葉が来そうな気がします。
ただ、個人的にはエクセルマクロ(VBA)は大好きですし、初心者にもおすすめしたいです。
自分のような非エンジニアだと、セキュリティの関係などでPythonの開発環境とかすごく用意しにくいんですよね。
(あと、コマンドプロンプトの真っ黒な画面が怖かった)
その点エクセルマクロは、開発環境の用意はプロパティでチェック項目を一つオンにするだけだし、入門書がたくさんあるし、セルの挙動を追えば視覚的にプログラムを理解できるし、初心者に優しいです。
(そのやさしさが上述したとおり悪魔の罠なわけですが。)
最初は計算用シートに頼ってでもエクセルマクロからプログラミングを始めて、本格的なデータ加工をし始めたあたりで計算用シートという諸悪の根源から脱却する。
さらに本格的なデータ処理を行うために、PythonやRなど別の言語を習得したり、エクセルからSQLデータベースやACCESSなどに切り替えていく、というプロセスがいいのではと個人的に思います。
acronym(アクロニム):頭字語。単語の頭文字を並べたもの。
allonym(アロニム):別名
anacronym(アナクロニム):レーザー、スキューバなど由来が意識されないアクロニム。
andronym(アンドロニム):男名
anepronym(アネポニム):人名に由来するが普通名詞と意識されているもの。
anthroponym(アンスロポニム):人名
antonym(アントニム):反義語
apronym(アプロニム):アクロニムであり、かつその文字の並びが別の単語になっているもの
aptronym(アプトロニム):偶然にもその人の職業や性格を表している人名のこと。スコット・スピードやパディ・ドライバー(いずれもF1ドライバー)など。
backronym(バクロニム):アクロニムに意味を付与したもの
basionym(ベーシオニム):基名
caconym(カコニム):謬称
capitonym(キャピトニム):語頭が大文字で書かれる名詞
contronym(コントロニム):文脈によって反義になる名詞
demonym(デモニム):族名
ethnonym(エスノニム):族名
exonym(エクソニム):外名
heteronym(ヘテロニム):同綴異義語
holonym(ホロニム):全体を現す名詞
hypernym(ハイパーニム):上位語
hyponym(ハイポニム):下位語
isonym(アイソニム):同綴異義語
meronym(メロニム):部分を表す名詞
metonym(メトニム):換喩
metronym(メトロニム):母称。「(女性名)の子」「(女性名)の子孫」を本来意味する人名。
necronym(ネクロニム):諡
paronym(パロニム):同源語
patronym(パトロニム):父称。「(男性名)の子」「(男性名)の子孫」を本来意味する人名。
pseudonym(シュードニム):偽名
retronym(レトロニム):同種の新しいものができたために区別して呼ばれるようになった名前。
tautonym(トートニム):学名の反復名。ゴリラ (Gorilla gorilla) の類。
taxonym(タクソニム):タクソン(生物の分類群)の名
toponym(トポニム):地名
これ読むと日本だけがカロリー表記続けてるみたいな印象だけど、アメリカも大体カロリー表記だからな
あと、kcalを略してるんじゃなくて、C大文字のCal=kcalな
まぁこれもややこしいけどさ
1合=180mL
販売される米はkg単位で、(飲食店などでは)炊飯後の米飯の量もg単位で指定するのに、炊飯する時だけ合を用いるのが不合理極まりない。
ちなみに、日本酒も合や升(=10合)を用いることが多いけれども、水・茶・ジュースなど他の飲料では使わない。
1坪=約3.3㎡
とはいえ、家屋以上に大きな面積は「東京ドーム〇個分」などと例えられることも多く、坪という単位はごく限られた場面でしか用いられない。
1坪=畳2枚だから生活に密接した単位だという主張も見受けられるが、和室以外の洋室やリビングなど畳を使用しない部屋では坪を用いる合理性はない。
ちなみに、1坪=畳2枚は、中京間という中京地方で使われる畳の大きさでしか成立しない。
京間(関西地方)・江戸間(関東地方)など、地方ごとで畳の大きさは異なっているのだ。
敷き詰められた畳の枚数を見ても面積は分からないのだから、坪も畳も使うのをやめて㎡で統一すればいいのに。
カロリーは熱量の非SI単位であり、SI単位ではジュール(J)を用いる。
1cal=4.184J
ちなみに1calは水1gを1℃上げるのに必要な熱量と定義されたが水の温度によって必要な熱量は変化するので、カロリーはあいまいさの大きい単位として使用を非推奨にされた。
ちなみにジュールは、家電製品の消費電力でおなじみのワットを用いて以下に変換できる。
1J=1W・s(ワット秒)
ワットは生活に根差した単位として定着しているのだから、食品の熱量(エネルギー)も換算が容易なジュールを用いればよいのに。
国際的には食品が持つ熱量はジュールで表記するのが一般的であり、輸入食品の栄養表示もほとんどがジュールだが、日本ではカロリーを使い続けている。
上述の合や坪などの尺貫法とは違って、歴史の浅い単位だけれども。
しかも、キロカロリー(kcal)を略してカロリーと称しているのだから、ややこしいこと極まりない。
「おにぎり1つで100kcal」とか「定食が1000kcalある」とか切りのいい数字で食品の熱量を示す文化が定着しているわけでもないのだから、ジュールに変えればいいのに。
タブレットとか枕元に置いておいていつでも増田にアクセスっ!って構えているけど
そうやって寝込みにかけてタブレットで動画を見始めるという悪習慣を成敗しなくてはいけないのよ。
今日からは枕元からはタブレットを遠くに置いておく習慣を身に付けたいわ。
あれは悪習慣よ。
昨日だって早くに寝れるつもりだと思っていたら
ついつい見入っちゃって、
これで1時間とか!
常日頃から睡眠時間を気にしているしまくりまくりまくりすてぃーな生活を心がけているのに。
動画が面白いからってもうこれって子どもレヴェルの子ども並の視聴習慣だわ。
悪しき習慣は悪しきを生むのよ。
あーあ!面白かった!ってだけの心に楽しいことしか残らなくて明日からもまた頑張ろう!って気にしかならないじゃない。
今週は特に夜の夜中の夜更けに床に入ったところでタブレットを見始めるという、
これはここで宣言してやめておくようにしなくては
いや違う違う
なんだったっけ?
私思うにこのアルファベット3文字の名称ってなんかカッコいいじゃない、
洒落た感じがして。
へーそう言う意味だったのかーって中身を知ったら感心するような内容だったら
私だって今日からクオリティーオブライフってQOLだよ!って言いたいもん!
だけどその
私TKGだと思うの。
TKGって卵かけご飯ってこれアルファベット3文字略称から日本語に展開したときの卵かけご飯って落差すごくない?
これに勝るとも劣らない落差の凄いアルファベット3文字略称って無いと思うのよねー。
なので、
よく日常である逆に長い名前から短く言いたいとき聞いたことあるけど喉元まで出てきていて、
ここまで出かかっているときに大雑把に使えるTKGって言っておけば話しが通じるからこの際この技を覚えておいて損は無いと思うわ。
NTYになるの。
これってなにかアイウエオ作文に通じる
「せ」は?って聞かれたときに9割の人が間違えて背脂って言っちゃいそうなほど、
その料理のさしすせそ作文で一番活躍しない調味料の背脂って私聞いたことないもん。
つーかさ
「そ」ってなによ?って
でもソイヤって調味料無いし私は今気付いちゃったけどその「そ」が分からない問題勃発したことを個々に表明するわ。
なんだそりゃーって思うけど
このアルファベット3文字の組合せが枯渇しない限り人類は栄え続けるのよね。
これ誰も気付いていない問題かも知れないわ。
何通りあってどのぐらいの数のアルファベット3文字の組合せが出来るか天文学的数字になるわよね。
HYWは部屋とワイシャツと私
ISKは愛しさと切なさと心強さとって
何も言えないようなこんな世の中なんてポイズンですら略せるのよ!
そう思うと奥が深いわ
SMYって何だと思う?
そうよ私が常日頃山岳大百科事典を片手に叫んでいる山脈に向かってヤッホー!と叫びたい気持ちの
S山脈にM向かってYヤッホー!なのよ。
いろいろと勉強になるわね!
うふふ。
ミックスだと色々な味が楽しめてちょっとずつ食べてサンドイッチを囓ることができるから美味しいわよね!
最近国内産の皮ごと使えるレモンが売り出されてるのよく見かけるので、
あれ便利よね!
そのまま輪切りにして切ってウォーラーにインすれば
ホッツを飲んで身体を温めるわよ!
すいすいすいようび~
今日も頑張りましょう!
数か月後にインスタのストーリーに「名前募集中」がタコを食べる動画をアップしたが
・撮影中に誰かに話しかけられる様子がある(これまでの彼の動画のスタイルは完全一人)
また、別に「暗闇をただ走るだけ」の短いストーリー動画があげられており
「名前募集中」は誘拐、監禁中なのではないかと話題になっている。
ところで、Kate Yupという海外の大食いYoutuberがいる。
彼女は海産物などを手づかみでひたすら食いまくる汚い系の大食いYoutuberだが
・腕や顔に傷やあざのようなものがある(本人曰く口の周りはヘルペスとのこと)
・字幕が不自然に大文字になっている部分があり、つなぎ合わせると「SOS」などの単語になっている
・時折動画内に何者かの声で指示が出ている様子がある
・疑惑に対する釈明動画の一人称が「I」ではなく「She」である
彼女の投稿は2019年を最後に絶たれているが、この都市伝説が独り歩きした結果
今でも再生数は伸び続けている。
ソースに悪魔の角のように突き立てられた二本の「タコ」の足が刺さっている様子がセンターに映っている。
「名前募集中」も元々タコを24時間食べてみたなどの動画を上げていた人間なので、
消息不明後の最初の動画が「タコ」を食べていても不思議はないが……
今や日本の変なホラーの第一人者ともいえる映画監督の白石晃士が2005年に発表した映画「ノロイ」だが
ファウンドフッテージ、フェイクドキュメンタリーの技法を使っており、
作中の登場人物の公認ファンサイトや、ブログ、出版社のサイトなどを数年がかりで仕込んでいるという
力の入れようだった。
他にもホラー系のYoutuberがかなり大掛かりで長期間にわたる仕込みで行う、ホラー企画などを行っている。
またテレビ東京で今年の11/18(もう3日後か)に「祓除(ふつじょ)」という式典を行う特番を用意している。
締切はとっくに過ぎているが、悪いのは私だ
市役所までバスで行くのも、平謝りするのも問題ない、寧ろ、迷惑しているのは向こうであろう
発掘された書類の前後から、この郵便物がいつ頃届いたのかは類推がつく(このへんは恐竜や土器の発掘と酷似している
しかし、正確ではない(山や地層は一度切り崩されているのかもしれない
そして、タイムスタンプが分からない以上、どれだけ喫緊の書類であったのかもこちら側にはパット見では想像できない
封を開いて、書類に赤い大文字で激怒とでも書かれていれば、緊急性を理解できるかもしれないが、
こっちはこっちで仕事があるのだ
そもそも、細かい話は端折るが、役所側がやるべき仕事をこちら側にまでやらせる体制はなんとかならんのか
昔よりはまともになった気もするが、やはり公務員というのは頭がおかしい人種である
いや、でも、非効率な人間が集まっていたり、そんな中に俺だけは周囲と違って効率的なんですなんて勘違い野郎が多いのが公務員というか、
2024年問題のたびにヤマトとかの宅配の話ばっかしてるけど物流の大半はBtoBやぞ。
工場から倉庫、倉庫から倉庫、配送センターからショッピングモールとか。
たかだか運送業界全体の3割程度しかない宅配業態の値上げとか置き配でポイントだとかの話だけして政府としてやってる感出してるだけだろ。
そもそも2024年問題云々の前に、もうここ30年は前から人手不足だし、いまさら何言ってんだ?って感じなわけ。
20〜30年後にはまじでドライバーが足りなくなるぞって言われ続けてんの。来るんだか来ないんだかって感じの南海トラフみたいなもんなの。
荷主側に賃上げを〜とか過剰な要求は〜って言ったって改善されるわけ無いでしょ。大元の荷主なんて政府とズッ友な企業たちなんだし。そこにメス入れられないから置き配ポイントだなんだで一応やってます感を演出して運送やらねえ大半の国民にアピってるだけやん。
荷主の監視強化月間て言ったって、いつも通り見てるだけだし根回ししてちょっとひどいとこだけ声かけてきちんと監視してました摘発しましたって実績つくりのためのマッチポンプしておわりよ。
配送ドライバーなんて未だにタコ部屋労働や後暗い経歴の人間のたまり場みたいな会社がゴロゴロあるし、そんなとこにいるやつらが理解できるわけもないしタカをくくってんだわな。
小泉政権で規制緩和された結果、誰でも参入できるようになり7次や8次の下請けとかいう買い叩きで味噌っかす業種がさらにミソッカスにされて、働いてる奴らもミソッカスだからこの有り様。
他業種より給料低いって言われてるけどそりゃそうだよ、運んでるだけだもん。大変だよ、すげえよほんと。東京から九州まで運んだりして体力勝負だし。
でもそれだけなんだよな。
今日入社したドライバーも20年トラック乗ってるドライバーもやる仕事まったく一緒なんだし給料変わんねえんだよ。もとになる運賃一緒だから。給料上げる原資もないし。せいぜい年に一回無事故ありがとうで報奨金出す程度(この原資は事故がない=保険が上がらない、修理費が抑えられたというところからくる)
こんな業種でも働く車に憧れてやってくる大卒の若者もいる。本社業務担当とかなら多少まともなのもいる。(免停食らって働けなくて事務職と点呼をするしかないクズもいる。しかもバカすぎて運行管理の資格も取れないとか)
数少ないまともな人間がDXだなんだと生産性あげよう、改革しようとしても現場ドライバーは味噌っかすがまだまだ多いので「こんなもん使えるか!おれはそんなのやらねえからな!」って平気で言う。端末配って動態管理だ勤務時間管理だアプリで確認だとか言っても理解できねえんだよ。
「端末のアプリのパスワードを設定して…」とか言ったら脳みそが破裂して死んでしまう。そもそもアルファベットの大文字と小文字の概念すらないしローマ字で自分の名前も入れられないとかそんなレベルが普通にいるんだよ。メールとラインの違いもわかってねえやつもいる。DXの前に義務教育が必要なやつが平気でいるの。
ローマ字もアルファベットもわかんなくて良いからとりあえず言われたとおりに端末やらアプリやら大人しく使って生産性に貢献してくれればまだいいんだけどさ。
乗って運ぶだけの価値しか産まない仕事じゃ給料上がんないし、残業で稼ぐしか能がないドライバーが大半だ。
そのくせ2024年問題で残業規制されたら給料下がるって会社にキレてるドライバー多いけどじゃお前に運行時間減らしても給料上げてやるだけの価値がなにかあんのか?って話なんだよ。現場改革も嫌がる、配送先でセクハラする、身だしなみの概念もない、運行管理の資格すら取る気がない、何かを学ぶ意欲もなけりゃすべてやってもらえて当たり前。荷主だってこんなやつらのために運賃上げらんねえよ。上げるだけの価値を見せてくれって思われるよそりゃ。
乗って運ぶ以外の役割持たせなきゃドライバーの給料上がりようがないんだわ。
つれ〜わほんと