はてなキーワード: ユーザーとは
この日記の内容は、会社の後輩から「最近エクセルマクロを勉強し始めて(キラキラ)」という話を聞いて、先輩ムーブをかますために話した内容になります。
とにかくこれから説明する「計算用シート」が憎くて憎くてたまらず、ちょっと引かれるほど熱弁してしまいました。
ただ、他の方がどうされているのかや、逆に「計算用シート」を愛用する方の意見も聞きたくなり、増田に書いてみました。
エクセルマクロのお作法とか書きましたが、要するにエクセルマクロで「計算用シート」って色々な意味でよくないよね、という話をしたいです。
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などに切り替えていく、というプロセスがいいのではと個人的に思います。
いや、何とかついてはいけている。
第一部主人公たちの後輩であることを示す期間限定ミッションのおかげで。
でも本当にそのおかげだ。
もしも今日、崩壊3rdを始めた人がいたら何が起きていただろうか?
だってその人達は、その期間限定ミッションで橋渡しなしでいきなりコレだろ?
なんか4つぐらいあるオープンワールド
そして全てが複雑に絡み合いながら緩やかに激しく行われるネタバレの嵐
間違いなく脳が崩壊するだろう
収束の意思さえ見えない無数の情報量、その中には翻訳チームがぶん投げただけの中国語なのか、中国人からしても意味不明なのか分からない用語が無数に含まれている
第一部と第二部は全く違う物語なので、ある意味では第二部だけやってから「主人公たちの先輩たちが戦った第一部」をやるのはシンプルなのかも知れない。
ジョジョの第三部を読んでから「まだスタンドが登場する前の戦い」としてジョジョの一部と二部を読むような気分なのだろうか。
最も悲惨なのは、少し前に始めて、まだ第一部を読み終わってないままに第二部が始まったプレイヤーなのかも知れないな。
第一部の終焉をこれでもかとネタバレされた上で、それでもなんとか追いつこうとした所に、超大型アプデが来てゲームの舞台からUIまで全部変更なんだから。
そもそもこのUIの変更の仕方がまた……なんとも意味ありげなんだよなあ……。
デジタル感……バーチャル感……第一部をクリアした所でこのUIに切り替わるのと、最初からこのUIで第一部を遊ぶのは感触が全然変わりそうだ。
凄いゲームだぜ。
新規を呼びたいのか、内に籠もりたいのか、その意思決定さえ崩壊しているぜ。
つうかこのシリーズ全部追うつもりなら崩壊学園・3rd・原神・スターレイル全部やる必要があるんだろうけど、その状況で「さあ物語は繋がってるのか繋がってないのか良く分からんけど同時並行で大型アプデだ!」とかやられるの囲い込みの圧が強すぎてユーザーの脳が崩壊するだろ。
凄いシリーズだ。
生成AIに関わる話題でプラットフォーマー各社のAI開発やユーザーデータ売渡の話題が絶えない
そんな中、インターネットに入り浸っているなら聞いているであろうDMCA申請や開示請求の話題に触れることがあり、ふと思った
「インターネットで事業やるとき、通報窓口って利益出ないよな……」
法令による定めだったりユーザー各人の個人情報やデータを扱う上での信頼性を確保するのに、各種通報窓口を設けることになって久しいけど、あれはコンプラとかガバナンス以上に何をもたらすものなんだ?という問いに答えるのが難しい
人置いても利益が出ないからって大部分を自動処理しようとしている現在の運用で(自分の肌感覚として)非難轟々になってる状況で「人運用にしてみよう」とは判断しづらい
サービス運用のメンタリティとしても、また出資側としても「責任を負う部分は少ないほどよい」という考えになるのはそうかもしれない
あなたはデフォルトの動作として日本語の質問に対して英語で検索して英語の情報源を日本語に翻訳して回答に使用しますか。
Copilot
いいえ、私はユーザーの言語に合わせて情報を検索します。つまり、ユーザーが日本語で質問した場合、私は日本語で情報を検索し、その結果を基に回答を生成します。英語の情報源を日本語に翻訳するというプロセスはありません。私の目的は、ユーザーが理解しやすい形で最も適切な情報を提供することです。ご質問がありましたら、何でもお聞きください。よろしくお願いします。
私は私の質問を英語でも解釈してもらって英語の情報源からも情報を得つつ日本語で回答してほしいです。どうすれば実現できますか
Copilot
私の現在の設定では、ユーザーが使用している言語で情報を検索し、その言語で回答します。したがって、日本語で質問された場合、私は日本語の情報源を検索し、その結果を基に日本語で回答します。
しかし、あなたが英語の情報源からも情報を得たい場合、質問を英語で投稿していただくと、私は英語の情報源を検索し、その結果を基に日本語で回答することが可能です。この方法であれば、あなたの要望に一部対応することができます。
ただし、同時に複数の言語で情報を検索し、それらを組み合わせて一つの言語で回答するという機能は、現在のところ私にはありません。ご理解いただけますと幸いです。何か他にお手伝いできることがありましたら、お知らせください。よろしくお願いいたします。😊
複数の言語で検索しなくてもよいので、翻訳して英語の情報源のみで調べてくださいと日本語で伝えたら、質問文を英語に翻訳して英語の情報源だけを検索し、回答を日本語に翻訳して表示できますか。
Copilot
申し訳ありませんが、そのような機能は現在のところ私にはありません。私の機能は、ユーザーが使用している言語で情報を検索し、その言語で回答することに限定されています。したがって、日本語で質問された場合、私は日本語の情報源を検索し、その結果を基に日本語で回答します。
しかし、あなたが英語の情報源から情報を得たい場合、質問を英語で投稿していただくと、私は英語の情報源を検索し、その結果を基に日本語で回答することが可能です。この方法であれば、あなたの要望に一部対応することができます。
ご理解いただけますと幸いです。何か他にお手伝いできることがありましたら、お知らせください。よろしくお願いいたします。😊
では、私の望むプロセスを行なうには、あなたに一度、質問文を英語に翻訳してもらい、回答を再度質問として利用すれば実現できますか。
Copilot
その方法は一部可能です。具体的には、あなたが日本語で質問を投稿した場合、私はその質問を英語に翻訳することができます。そして、その翻訳された質問をあなたに提供します。あなたはその翻訳された質問を再度私に投稿することで、英語の情報源から情報を得ることができます。
ただし、その後の回答は英語で提供されます。私はその回答を日本語に翻訳する機能は持っていません。そのため、最終的な回答を日本語で得るためには、あなた自身で翻訳する必要があります。
この方法であれば、あなたの要望に一部対応することができます。何か他にお手伝いできることがありましたら、お知らせください。よろしくお願いいたします。😊
もうすでにみんな書いてるけど、結婚を考えてるユーザーが多いマッチングアプリが良さそう。(Tinderじゃないって意味)
マッチングアプリは男女で出る広告が違うって前に話題になってたけど女向け広告では婚活・真面目な出会いを押してるアプリけっこうあるよ
はてなブックマークユーザーが2000年代から活動しており、平均年齢が高いという情報を考慮すると、死亡率に関する推定を修正する必要があります。平均年齢が高いと仮定すると、日本の一般人口における年間死亡率よりも若干高い率を適用するのが妥当です。
### 1. 死亡率の再推定
- 平均年齢が高いユーザー層(例えば50歳以上)の死亡率は、全体の平均よりも高くなります。例えば50歳以上の年間死亡率はより高い数値を示しますが、具体的な数値は年齢により異なります。
- 50歳以上の人口における死亡率を1%以上と推定することができますが、これはあくまで一般的な指標です。
### 2. インターネットユーザーが活動を停止する理由の再考
- 平均年齢が高い場合、生活の変化や健康状態の変化によりオンライン活動を停止する確率も変わってくる可能性があります。
- しかし、依然として「飽きた」や「他の関心事への移行」といった理由でオンライン活動を停止するケースは多いと考えられます。
- **「死亡した」確率**: 平均年齢が高いことを考慮して1%以上。
- **「飽きた」確率**: 依然として高いが、平均年齢が高いことを考慮すると、活動停止の理由として健康や生活状況の変化も考慮する必要がある。
平均年齢が高いはてなブックマークユーザーの場合、死亡率が若干上昇することを考慮しても、「飽きた」または生活の変化による活動停止の確率の方が依然として高いと推定されます。しかし、年齢が高いことによる影響を無視することはできず、特に健康状態の変化による影響も考慮に入れる必要があります。それでもなお、「飽きた」や他の関心事への移行が主な理由である可能性が高いですが、死亡する可能性も若干高まることに注意が必要です。
フェルミ推定により、ある有名なはてなブックマークユーザーが活動を停止した原因が「死亡した」か「飽きた」かの確率を推定するため、いくつかの仮定と一般的な統計を用いて見積もります。
- 日本の年間死亡率は大体0.7%程度とされています(2023年4月時点の情報)。これを基に計算します。
- はてなブックマークの有名ユーザーの年齢層を20歳から60歳と仮定します。この年齢層での死亡率は全体の死亡率よりも低いですが、簡単のため全体の死亡率を使用します。
### 2. インターネットユーザーが活動を停止する理由の推定
- インターネット上で活動を停止する主な理由として、「飽きた」が挙げられます。具体的な確率を出すのは難しいですが、一般的にオンライン活動は多様な興味や生活の変化により変わりやすいと考えられます。
- 「飽きた」場合の確率は非常に高く、例えばオンライン活動を1年以内に辞めるユーザーが50%以上とする研究もあります。
### 結論
フェルミ推定に基づくと、「飽きた」理由で活動を停止する確率の方が「死亡した」理由に比べて桁違いに高いと言えます。オンラインでの活動変更は生活の変化、興味の変化など多くの要因によって頻繁に起こり得るため、この結果は妥当と考えられます。
1.本サービスに関する知的財産権(ユーザーコンテンツを除きます。)は、すべて当社又
は当社に利用を許諾している者に帰属しており、本利用契約の締結又は本サービスの
利用許諾は、本サービスに関する知的財産権の使用許諾を意味するものではありませ
ん。
3.ユーザーコンテンツにかかる知的財産権は、ユーザー又はユーザーに利用を許諾してい
る者に帰属し留保され、ユーザーの入力行為によって当社に移転するものではありま
せん。ただし、当社は、当該ユーザーに本サービスを提供する目的及び本サービスを
改善する目的の範囲内で、ユーザーコンテンツを無償で利用することができるものと
します。
7. 当社は、ユーザーコンテンツの内容が本規約又は法令等に違反し又は違反するおそれが
第6条 (禁止事項)
ユーザーは、本サービスの利用に関して、以下に定める行為を行ってはなりません。
(8)以下に該当し又は該当すると当社が判断する情報を、当社又は他のユーザーに送信
する行為
いやマトモな担当じゃん。
相談所ユーザーのセオリーは「これから半年(や一年)、本気で余暇を全コミットして婚活しよう。ダメだったらすっぱり退会して結婚しない人生にむかってライフプランを組み立て直そう」だし実際そうしたほうが成婚率が高い。
なのに活動に集中してください、と言ってくれてるわけだ。
言い方が悪かった
カウンセリング 元増田と重複 ブランディング ブランドの価値を高めるための施策 チャンピオンズ ゲームのドラゴンクエストチャンピオンズ、欧州サッカー大会のUEFAチャンピオンズリーグ、テレビ東京系列とBSジャパンで放送されたTVチャンピオンの後続バラエティ番組、 魚乃目三太による週刊少年チャンピオンの歴代編集長取材記マンガ コメンスメント 本来は始まりの意だが米国では卒業式をさす。また日本の同名ファッションブランド アイン・ランド ロシア系アメリカ人の小説家、思想家、映画脚本家。リバタリアンやアメリカの保守主義に大きな影響を与えた バインディング binding:結びつける、縛り付けること。またラグビー、スノボ、ITなどで用語化している フロントエンド WebサービスやWebアプリケーションで直接ユーザーの目に触れる部分 コリンチャンス ブラジル・サンパウロを本拠とするサッカークラブ オレンジレンジ 日本の男性5人組ロックバンド ポインティング pointing:指し示すこと。また彫刻、ITなどで用語化している
にさんかたんそ 元増田と重複 こてんこてんこ 上野あつこによる日本の漫画作品 にほんのぶんか 日本の文化 かうんせりんぐ 上と重複 いでんしけんさ 遺伝子検査 ぶりんこうんこ 辻希美と加護亜依による非公式ユニット ぶらんでぃんぐ 上と重複 ちゃんちゃんこ 元増田と重複 おてんとさん社 童謡雑誌『おてんとさん』の発行と児童文化運動のための結社 しゃんしゃん火 天火の異称。日本各地に伝わる怪火の一種
こてんぐテン丸 かぶと虫太郎による日本の漫画作品 たらんたランタ 槙ようこによる日本の漫画作品 ぺぺんがペンゴ セガのメガドライブ用ゲームソフト。Wiiのバーチャルコンソールでも配信
ブリンぶりん家 2004年TBS系列から放送されたアニメ・バラエティ番組