はてなキーワード: VbAとは
その発言した増田ではないが、その発言は少し無責任な気がするので補足。
まずRはやめるべき。
逆に統計くらいでしか使わないので、貴方が算術処理をバリバリやるのでなければ使用するべきではないだろう。
Pythonも言語だが、Rに比べると汎用的であり、かつ機械学習(scikit-learn、NumPyやPandas等の統計ライブラリ主体だけど)などでも使われていてホットな言語である。
ホットな言語だと、書籍やネット情報が豊富にあるので、学ぶ分には困らないのでもしプログラミング言語をやりたいのであればPythonをお勧めする。
そして、Excelマクロも一応Visual Basic for ApplicationというVBを下敷きにした言語なので、その言語を今から学ぶのであればPythonを学べばいいのではないかというのが先の発言の趣旨ではないかと推察する。
しかしながら、言うまでもなく、Excelのセルに書かれたデータをあれこれしたい(主に業務で活用したい)という要件ならVBAが最適である。
プログラム言語って得意/不得意があるから、やりたいことに合わせて使う言語を変えたほうが幸せになれます。(本格的なプロジェクトだと選択の余地はなかったりするけど)
なお、おうちで触りたいというレベルなら私もPythonをお勧めします。
MacでもWindowsでも同じ書き方で、Excelに囚われず色々な処理ができる。AIやIoTなどで需要が高まっているので覚えておいて損はないし。
「これだけ凄いから導入許可をください」と情シスに掛け合えるレベルまで成長したら会社でも使えばいい。
ただ、対象者はちょっとしたプログラミング言語を覚えて、手間がかかることを自動処理とかしてみたいなぁと考えられる人。Excelが効率よく使えれば十分って考えの人にまでお勧めするものではないので、その辺は誤解がないように。
PCとかで「今は買い時じゃないまだ買うな」と言っていつまでも買えないってギャグがあるけど、技術も「これ将来性ある?」とか考えてたらいつまでも身につかないと思う。
やはり使う人が多いからかな。
ブコメ読みました。どうもありがとうございます。
トラバは伸びすぎてまだ全部読めていません。(スレッドたためないのかな?)
行列いらないよという方が意外と多いですね。専門によってずいぶん意見が変わるようです。
抽象代数をめざすので2x2の泥臭い計算練習などいらん、ということですね。
確かに数学を使う応用分野に進む子と数学自体を研究対象にする子では必要な勉強が異なるでしょうね。
数学科のことを考えていませんでした。
最後「高校で線形代数を教えろ」じゃなくて「行列をなくせ」になるのですか?
同じようなことを言っている人が何人かいらっしゃいました。(ゲーム業界?)
私にはちょっとピンとこないのですが、その業界の人たちがそういうのなら何か事情があるのでしょうね。
線形代数は大学で教えるでしょ?というのは確かにそうなのですが、1年生に教える物理の授業内容に影響が出ます。
物理科で1年生に教える科目は主に「力学」「電磁気学」、大学によっては「相対論」の入門を教えていたりするのですが
行列がなくなると座標変換が使えません。行列を使わないで無理やり書き下すこともできますが式の見通しが悪くなりますね。特に相対論。
逆行列を知らない。回転行列を知らない。座標変換のイメージがつかめないという子に対応しなければなりません。
2024年に文系からベクトルがなくなります。(復活した数Cに入ります。数Cは理系科目)
それに対応しておそらく物理基礎はベクトルが使えなくなります。
実は1997年にも似たようなことがありまして
微分方程式が消滅、文系から微積が削除された際に高校物理で数式が扱えなくなりスッカスカになりました。
物理科ではずっと問題視されているのですが現在に至るまで救済されず。
さらに削減が進むということですね。
数学では「データの分析」が大幅に増えました。現在の学習指導要領はこちら
次期学習指導要領(高等学校、数学、情報)について思うこと - とね日記
数学Bに 確率変数と確率分布/二項分布/正規分布/母集団と標本/統計的な推測の考え などが入っています
次期学習指導要領では数学Iに 四分位偏差/分散/標準偏差/相関係数 などが入ります
教科 | 科目 |
---|---|
数学 | 数学I,数学II,数学III,数学A,数学B,数学活用(←new!) |
(1) 数学と人間の活動 数学が人間の活動にかかわってつくられ発展してきたことやその方法を理解するとともに,数学と文化とのかかわりについての認識を深める。
数量や図形に関する概念などと人間の活動や文化とのかかわりについて理解すること
イ 遊びの中の数学
数理的なゲームやパズルなどを通して論理的に考えることのよさを認識し,数学と文化とのかかわりについて理解すること。
社会生活において数学が活用されている場面や身近な事象を数理的に考察するとともに,それらの活動を通して数学の社会的有用性についての認識を深める。
図,表,行列及び離散グラフなどを用いて,事象を数学的に表現し考察すること。
行列残っているじゃん、とおっしゃる方がいましたがこれ残っていると言えます??
少なくとも1年生の過半数が行列を習ってないというのですから実質ないも同然なのでしょう。
次期学習指導要領では廃止して「理数探究(仮称)」が新設予定だそうです
数学ではないのですがはてなー的には気になる話題だと思うので書いておきます。
2003年から数学や国語に並んで「情報」という教科ができました。扱う内容はかなり本格的で
高校で使われているプログラミングの教科書を全部購入して比較 (情報の科学) - Yusuke Ando a.k.a yando
情科306 コーディングはHTML、CSS、VBA。SQLも例が示されている。ドリトルという日本語のタートル言語も。 pic.twitter.com/Cn8O0vPWG3— Yusuke Ando@プログラミング教育 (@yando) 2018年7月29日
私は20代半ば手前の者です。
昨年仕事(第一次産業)を辞めてしまい、学歴もスキルもないのに何やってんだろ...と引きこもりかけたところ、
ハローワークで長期の職業訓練を見つけたので応募してみました。
それは専門学校に委託される2年間の訓練でした。その間失業保険の支給は、期限が過ぎても延長してもらえます。
要するに入学料・授業料タダ、お金をもらいながら勉強でき、専門卒になれるチャンスというわけです。
(本当に有難い制度です。就職したら、きちん税金を納めて世の中にお返しするつもりです)
どうやら希望者は少なかったようで、筆記(中学レベルの知識で大丈夫でした)と面接はすんなり通りました。
同じ訓練生は1割程度です。(30~40代の方が2人おられます)
ワイワイやる人が3割、静かな人が7割ぐらい? といった印象です。
男子100%ですが、ホームルームだけは女子100%のコースと一緒にやります。
悪い人はいない感じで、授業が荒れて成り立たないとか、そういうのはなくてよかったです。
ただ、バイトが忙しいのか授業中イビキかいて寝ちゃう人や、全然授業について行けなくて辞めちゃう人はいます。
○Office(前期のみ)
word,excel,powerpointを一通りやりました。PC操作に慣れていない人も多いので、
手取り足取りゆっくりやる感じでした。自分は仕事で使ったことがあったので、課題を早く終わらせて
○C言語
terapadとコマンドプロンプトを使っての授業です。(コンパイラはborlandです)
元SEの先生(本人曰くCOBOLer)の説明聞いてから、課題をこなしていく感じです。
入学前に、RubyやらJavaの参考書を一周してみたり、ドットインストールでC言語の動画を見たりしていたので、
授業にはついていけています。
ただ授業だけだと完全に足りなさそうなので自学を頑張ってます。
分野ごとに授業があります。教科書を読んで先生が板書・たまに問題集やプリントを生徒にやらせるといったスタイルです。
ただ試験対策なので、問題演習を重視した方が良いと思いました。
授業を聴きながら(たまに当てられるので)、ひたすら過去問をやっています。
ちなみに学校は12月の修了試験(合格すると本試験の午前問題免除)→来年4月の本試験 を前提にカリキュラムを組んでいますが、
私は年も食っているし、合格が就職活動に間に合わないので、来月受験します。
就職指導の先生は応用情報技術者も取っておけ、と言われましたが、必要ですかね...?
勿論取らないに越したことはありませんが、Railsチュートリアルとか他の技術書に時間をさいたほうがいいかな、と思いました。
○アルゴリズム(前期のみ)
フローチャートや疑似言語を使って、バブルソートや基本選択法など初歩的なアルゴリズムの勉強です。
実際のプログラムのコードの方がわかりやすい気がしますが、基本情報技術者試験対策なので仕方ないですね。
今も現場ではフローチャートや疑似言語は使われているのですかね?
そんなの古い現場でしか使ってないよ、という意見はよく聞きますが...
先生の意向でなぜかメモ帳推奨。(他のエディタを使っていたら嫌な顔をされた)
素人がいうのも何ですけど、ミスに気づきにくいし、使いづらくないですかね...
案の定何でもないところでハマる人がいて、授業はよく止まってしまいます。
ブラウザの開発者ツールの使い方を隣の子に教えてあげたら、喜んで使ってくれていましたが、
やっぱり変なもん教えるなという目を先生から向けられちゃいました...
○データベース実習(後期〜)
Accessを使った授業です。テキスト通りにやっていきます。
Accessは初めて使いましたが、Mysqlをちょこっと触ったことがあるので、要領はなんとなく掴めました。
これも授業は遅いので、先に教科書の内容は家で一通りやってしまいました。
グループワークとかやめてください死んでしまいます、と思ったけど、意外と楽しめました。
ただ、喋らない人たちしか居ないグループだと、何を話しかけても反応が薄かったので、ちょっと辛かったです。
・授業で使うPCはメモリ4GBでもうちょっと欲しいなあと思いました。
エディタはAtomをUSBに入れて使っていましたが、カクカクでよくフリーズしました...
モニタも19インチの正方形で、ウィンドウをたくさん出したい時は不便ですね。
どんな職場に行ってもどんな環境でも何とかやれ、という訓練ということなんでしょうかね。
1年生後半にRubyの基礎、インターンシップ(強制)、就職活動の開始
2年生からは、Java,Rails,サーバ構築, データベース構築あたりの授業、という流れで進んでいきます。
年齢が20後半になるので、周りの若い人たちと何かしら差をつけないといけないので大変ですが、
地元企業のSE(Web系を希望しています)で採ってもらえるよう頑張ります。
アドバイスがありましたら、いただけると嬉しいです。
拙い感想文にいろいろと反応いただきありがとうございます。
ごもっともです。私は皆様の雇用保険から学校に通わさせていただいているので、文句言う立場じゃないですね...
ただ、年100万近く払っている一般生徒の方は、不満に思っているかもしれませんね。
>>田舎で数年間無職してるけどIT系の就職訓練無くて最悪 羨ましい 田舎はゴミ
そうですか... 私の住んでいるところも地方都市ではない田舎なのですが、
近隣にIT企業が進出してきていることもあってか、今年からIT系が訓練の対象となりました。
都市部ではない地域も、もっとIT系の訓練が拡充されると良いですね。
>>otihateten3510 基本情報さえ取ればどっかに潜り込めるだろうから、そこで3年くらい真面目にやれば結構いけるとおもう。
>>コード書けると良い。/授業はまあそんなもんだよね。現役の人に聞いたほうが正しい。/東京のほうがイージー
ちょっと精神的に病んで前の仕事をやめてしまったので、家族のサポートを得て、地元に就職しようという情けない有様でございます。
いつものように自称スーパー営業マンが突拍子もない事を言ってきた。
営「ねえ、Excel 作ってよ」
俺「一部の機能だけなら作れますけど、それでもExcel買ったほうが安いですよ」
営「それだと ウチで売れないでしょ。ウチで作ればウチが売れるじゃない」
俺「(何言ってるんだコイツ)はあ」
営「WordとかPowerPointは要らない、っていう人向けにさ、Excelの半額で売り出せば、間違いなく売れると思うんだよ」
俺「(何言ってるんだコイツ)はあ」
営「どう?作れる?」
俺「1億円くらいあれば作れるかもしれませんね」
って、答えたんだけど、1億円でも無理だよなーと思ってきた。
フェルミ推定の得意そうなはてなの皆さんなら、いくらと言って諦めさせますか?
LibreOffice の クローン から始める、とかではなく、自社で販売するにあたって何のライセンスにも違反しないようにするとして。
ある物が何であるかは設計思想ではなく使われ方の実態をもって決まる。
設計思想通りに使ってもらえないのは設計が徹底していないからだ。
いや、表計算は数ある機能のうちのひとつとして重宝されてはいるが、実体はもっと複雑で、
DTPソフトでもあり、DBでもあり、メモ帳でもあり、電卓でもあり、プログラミング言語でもあるような
「エクセル」というオンリーワンの統合ビジネスソフトになり果てている。
「エクセルは表計算ソフトです!」と主張する人に限ってそれを説明できていない。
取引記録や伝票のようなマスタを保持するのはデータベースの仕事だ。
それに対し適当な加工をかけるのも本来クエリでやるような話である。
つまり、「エクセルは表計算ソフトだからDTPとして使うんじゃねえ!」と叫ぶ人は、
まったく同じ理屈により、エクセルをデータベースとして使うことも否定しなければならない。
文書をワードで、DTPをパブリッシャーでと言うのなら、マスタはアクセスで管理しなさいとなる。
表とはただデータを保持するものではない。データを「表示」するものである。
表はデータを整列し、計算し、出力する全ての機能を備えていなければならない。
当然、DTP的な要素もあればDB的な要素もあってしかるべきだ。
そういった全ての要素が結びつき、さらにその上にVBAが乗っかることによってエクセルは
エクセル以外のどのソフトにも互換できないような唯一無二の使い勝手を生み出しているのだ。
表計算でもDTPでもDBでもスクリプトでもあることによって発生する独特の使い方のコツというのがあり、
それはそれぞれ単体のソフトだけを連携させている時には絶対に役立たないようなセンスだ。
自動車の操縦のように、エクセルというソフトを手に馴染ませる必要がある。
だから、DTP的な使い方しかできていないようなエクセルユーザーに対して指摘する時は
業務で自動化できそうだなと思ったものをVBAで組んでみようとするが何も浮かばない。
やりたい処理をググる。近しい処理を見つけるとそれをコピーする。
それを繰り返す。一々、ググらなければならない自分にイライラする。
お手本になるスクリプトがないと諦めそうになる。
そんなパッチワークみたいな、フランケンシュタインみたいなプログラムでも動けば嬉しい。
みんなはどうやってプログラムを作っているの?
各々こじんまりとした効率化テクニックの蓄積があるものと推察される。
私もその例外ではない。
そこで私は提案したい。それらノウハウの共有による集合知の形成を。
まずは私が効率化のために行っていることを紹介したい。
基本的にはVBAを利用したものだが、コードは今手元にないので各自ググってほしい。申し訳ない。
いちいち探しに行かなくていいから便利。
いちいちプロパティバーを表示してコピーして……とかやらなくて良いので便利。
いちいち貼り付けメニューとか貼り付けたあとのオプションとかでGUIの操作をせずにキーボードだけでできて便利。
マクロのショートカットキー割当はPERSONAL.XLSBのThisworkbookオブジェクトにWorkbook_open()を書いてその中に書いておくとExcelを起動するごとに自動実行される。
同上。
同上。
クソうざいあれがなくなって便利。
いろいろ便利。
バババッとできて便利。
大量のシートがある時にあのシートどこだっけとかいうのをマウスでグリグリやらなくて良くなるので便利。
使う頻度の高いマクロやエクセルにそもそも実装されている機能はショートカットキーを割り当てるか、リボンに登録しておくと便利。
ペースは週2回、1回1〜2時間くらい。
PowerPointはよく分からないのであんまり教えてない、てかアニメーションとか要る?
換算一問一答とか、今使われてるのはSI単位が多いけど例外もあるよ、とか、トレーサビリティってのがあって世界中の計測器は〜、とか。
緯度と経度とか、大陸の名前とか、国当てクイズとか、大航海時代とか、メルカトル図法とか。
現状Hello Worldだけ。
ファイルシステムの使い方とか、巷でよくあるメモリを机上にたとえたり補助記憶を本棚にたとえるやつとか、Windowsのタスクマネージャーの起動方法と見方とトラブル対処法とか。
射出成形とかプレス機とかNC旋盤とかファクトリーオートメーションとか。
成果物として、毎日つけているOneDrive上のExcel家計簿がある。
普段はスマホで日付と金額と勘定科目?を入力してもらって、別シートにsumifs関数で期間と勘定科目の一致した金額を集計する。
大したものじゃないけど、自分で作ったから仕組みを全部理解しているというのが大きい。地方ならこれを提出するだけでも仕事もらえるんじゃないか。言い過ぎか。
この勉強が早速功を奏したかは分からないけど、今月の頭に某中堅製造業の契約社員になれることが決まった。
優秀なら学歴関係なく正社員になれるとのことで、本人のやる気があれば今の勉強を続けていこうと思っている。
たぶんしばらくは反復練習に充てることになるかな。
俺も勉強しなきゃ…
下に書いたような内容で自動化して作業を早く確実に終わらせたい。
教えて増田。助けて。
・対象はフォルダ内の3ファイル(.txt)なので、フォルダ指定したら名前順に読み込んでいきExcelに転記してほしい。
・タイトルは長い場合50文字を超えるので、タイトル毎に任意のシート名を指定して作成したい。
・罫線も自動で引きたい。
=====txt内容=======
内容1-1,内容1-2,内容1-3,内容1-4
内容2-1,内容2-2,内容2-3,内容2-4
内容3-1,内容3-2,内容3-3,内容3-4
内容1-1,内容1-2,内容1-3,内容1-4
内容2-1,内容2-2,内容2-3,内容2-4
内容1-1,内容1-2,内容1-3,内容1-4
内容2-1,内容2-2,内容2-3,内容2-4
内容3-1,内容3-2,内容3-3,内容3-4
内容4-1,内容4-2,内容4-3,内容4-4
内容1-1,内容1-2,内容1-3,内容1-4
内容2-1,内容2-2,内容2-3,内容2-4
内容3-1,内容3-2,内容3-3,内容3-4
内容1-1,内容1-2,内容1-3
内容2-1,内容2-2,内容2-3
内容3-1,内容3-2,内容3-3
内容1-1,内容1-2,内容1-3,内容1-4,1-5
内容2-1,内容2-2,内容2-3,内容2-4,2-5
内容3-1,内容3-2,内容3-3,内容3-4,3-5
================
=====結果excel=======
┌───┬────┬───┬────┐
├───┼────┼───┼────┤
│内容1-1│内容1-2│内容1-3│内容1-4│
├───┼────┼───┼────┤
│内容2-1│内容2-2│内容2-3│内容2-4│
└───┴────┴───┴────┘
================
そんな底辺の、プログラマとも呼べない微妙な立場の俺からベテランプログラマのみなさまに質問です
てか当時は勤務先でそれしか使われてなかったので選択肢無かったです
あとはVB.NETの既成プロダクトのちょっとした編集が数件…
2年目です
時間の計測を幅広い業務に当てはめて、今までの実績からいつその業務が終わるかを予測表示するシステムを考えています
お金さえ稼げればなんでもいいです