エクセル雑感
エクセル関連ツイートNo5

ExcelマクロVBAとエクセル関数についての私的雑感
公開日:2013年5月以前 最終更新日:2019-05-01

エクセル関連ツイートNo5


エクセル VBA

「セルに特定の文字が含まれているかどうかの判定」
A列に、
Excelという文字を含む行を別シートに転記するとしたらどうするか。
やり方がいっぱいありすぎる気も、、、
大文字小文字を区別するかどうかで変わってきますね。


直前のコマンドまたは操作を繰り返すExcelショートカット
F4
これが一番使われているように思う。
Alt + Enter
たまに使っている人もいるらしい。
Ctrl + Y
これを使っているのは聞いたことがない。

最近「モダン」という言葉聞くことが度々あるのですが、
私には逆に何とも古めかしい言葉のように感じられてしまって。
モボ・モガの大正モダン・昭和モダン、そしてモダン焼き…
もしかして、時代の変革期になんとなく使われだしたりするのかなーとか考えてみたり。

SELECT 列 FROM テーブル WHERE 主キー = 条件
SELECT SUM(列) FROM テーブル WHERE 検索列 = 条件 GROUP BY 検索列

子供の目の前に、
PC,iPhone,Android,WiiU,Swith,PS4
使ってよいよと言ってほっとけば、勝手にゲームを始めている。
これらの違いを説明するのは難しい、というか説明する必要があるのかさえ考えざるおえない。

settingsの項目追加でスコープ間違えてただけで、2時間デバッグに費やした、まさか間違えてるとは思いもしなかった、とほほ。
無駄な時間なのか、教訓なのか、、、
なんにしても、スコープは大事。

つい先日フォルダって何かを説明しなければならない状態になった。
「このフォルダの中のこのフォルダ…」
その後なんとなくの会話の中で、
「さんざん説明した後に、ところでフォルダって何?とか聞かれるとガクッとくるよね」
と言ったら、
「うん、フォルダって何か良く分からない」と返された…

そもそも、上とか下とか中とか外とかっていう感覚が無いから、簡単には通じない。

絶句することはあっても、分からないとか通じないことをとやかく言うことは無いのだが、
せめて、もうちょっと早めに言ってほしかったとは思うよね。
相手の技量を把握しきれていなかった自分が悪いのではあるのだけど。

あっ、ちなみに相手は、とうぜん自分ではないけど他人でもない。

ショートカット
行非表示:Ctrl+9
行再表示:Ctrl+Shif+9
列非表示:Ctrl+0
列再表示:Ctrl+Shif+0←これ使えない
可視セルのみ選択:Alt+;
フィルターしてない時ですよ。

もしかしたら今更なのかもしれないが、今日ようやくわかった気がする。
・需要がない
・知られていない
前者の場合はそれまでの話だが、
後者の場合は、
知っている人と、知らない人で、
共通のキーワードがないって事なんだと。
知っている人にとってのキーワードでは意味がないという事なんだ。

つまりどういうことだ、、、
いや、でも、知らないんだから、検索しないよね、、、

私が経営関係の言葉とかを調べるとき使っていたのは、
チェーンストアのための必須単語1001
なんとなく愛着あるし未だに捨てずに持っている。
初版は昭和43年とのこと。
当初は必須単語701で1001が出たときに、それならと自分用に買ったものだ。

というか、そもそもSQLわかるならってきもするし、あまり意味ないかなー。

説明してると「このボタンは何?」というような説明とは違う事を聞いてくる人はあくまで傾向としてではありますが覚えが好ましくない傾向にあるような気がしてはいるのですが。

・説明を聞いているときはその話に集中する
・必ず復習して自分のものにする
・後に説明になかった部分を自分で調べる
がよろしかろうと思ってはいるものの、簡単に直せないのが人の性、で良いのか。

SELECT 列 FROM テーブル WHERE 主キー = (SELECT MAX(主キー) FROM テーブル WHERE 主キー <= 検索値)
うーん、サブクエリ…でもまあ、機能の説明としては、、、

VLOOKUPの近似一致をSQLで表すとこんな感じかなと思って書いては見たんですけど、、、

なのでSQLの書き方云々は抜きです。
主キーという表現がどうかなとは思うのですが、私としてはVLOOKUPの検索値ってそういう感覚で使ってますね。

VLOOKUPはしっかり覚えたほうが良い、
効率がかなり変わってくるはずです。

エラー処理と端数処理って、ある意味永遠の課題な気がする。

そういえば関数をいくつ知っているか数えたことないですね、
知ってるのと使えるのと使ってるのは違うので普段はそんなに。
でもCOUNTIFは良く使いますかね。
SIGN関数とか知ってはいるけど、かつて使ったことあったかなー。

ただ、知っているのと知らないのでは発想が違ってくるので幅広く知っている越したことは無いと思います。
それと、主要関数は細部もある程度理解しておいた方が良いでしょう。
VLOOKUPの数値・文字とか、近似一致とか。

エクセルはおろかPCだって単なる道具ですよ。
それは当たり前なんです。
だからといって適当に使えれば良いという事でもないです。
ソロバンも電卓も道具です、でも速い人と遅い人では雲泥の差がある。
どこまで使えるようになれば良いかは人それぞれではあります。

以下事務処理限定のお話です、この点誤解せぬよう。
プログラミング覚えるのに、というか、PC使うのに、
2進数を覚えなくてはいけないのか…
知らなくてもほとんど困ることない気がするので、そこを飛ばして勉強するのもありではないかと。
いつまでも2進数がどうのといってる時代ではないでしょ。

=TEXT(日付,mmmm)
こんなの教えたの初めて、必要な人もいるんですね。
あっ、私としては、睦月、如月、弥生の方が好きです、嘘です。


まあ分からなければググれば良いのです、多分それが一番早い。
ただし、上手くググれればという事になりますかね。

ポートフォリオと聞くと金融商品の組み合わせのことかと思い、
デフォルトと聞くと初期値、既定値のことだよなと思う。
たぶん、その言葉を知ったのがそれだったという事なんでしょうね。
いずれにしても、カタカナ語は難しい。

関数の数にしろ2進数の事にしろ、
何の思惑もない個人的な意見は少し違います。
2進数なんかはまずは中学くらいで教えれば良い。
関数は一覧見て使えそうなものを片っ端からやってみればよい。
その後どう使うかを考えることが重要なんだと。
でも、そんなこと言ったらそれこそ老害…

ソフトにはそれぞれの良さがあり適宜使い分ければ良いと思っています。
エクセルでそこまでやる理由ある、他を使えば簡単にできるのでは、そこまでこだわる理由ある?
よくよく理由を聞くと大抵は面白そうだからやってみたい、という場合も多くて、それなら仕方ないなーと。

紙伝票を早く正確に集計しろと言われたら、ソロバン得意な人に勝てる気がしない。

財は「かいへん」なので基本的にお金に関することだと思ってます。
従って「人財」と書いているのは人をお金に例えているものだと。
つまりお金で買えるよと言いたいのかと思ってましたが、、、違ったのかな。

休みの日に、
Twitter+Excelとか
Twitter+Programming
もしかして、いっぱいいるのではないかという予感

以下推測
行列で混乱しやすいのは縦書き文化が関係しているのではないか。
列と言えば、整列、○列縦隊が思い浮かばれるので、前(目標)に対して縦というのは普通に感じられる。
しかし、行と言ったとき縦書きの場合は縦になってしまう。
すると、行とだけ言われた時にどっちだとなってしまう。

行列も漢字で覚えるってのは一つの方法だとは思うけど、個人的にはあまり好みではない。
簿記の「貸借」も「借り」「貸し」のひらがなの向きみたいなのがあるけど、
そもそも貸借と言ったときと順番が違うから覚えづらいのではないかと思っているのですけど。
「借貸」と言ったら別の意味だし。

ここ数日のTwitterでやり取りしたことを考えてみるに、
やはり昔に戻して、
・中学校で2進数
・高校で行列
これで良いんじゃないかと思えてきた。
小学校でプログラミングの入り口やろうっていうくらいなのだから、問題ないよね。

クラスの記事としてはImplementsも何らかしらは書いておきたいのですが、
どうにもサンプルが思いつかない。
cryで「ワン」「ニャン」はさすがに…
というか、「ワン」と鳴くネコもいれば、「ニャン」と鳴く犬もいるよね、あれっ、いなかったっけ…

ツイッターは色々な情報があって楽しい、ただ時々あれって事も。
名前が適当なのかな、
コンビニのオーナー?が消費期限の定義を知らないとかって事あるのか…
一般の人なら仕方ないのですけどね、いろいろあるし。
消費期限、賞味期限、賞味期限(年月)、賞味期限なし

LENB関数の使い道って、半角・全角分けての文字数くらいかと思っていましたが、
もしかして、Twitterの文字数制限の方が使う機会が多いかもとか。
あっ、VBAはちょっと違いますよ。

激レア要望
・ユーザー定義リストで並べ替えしたい
・途中に半角空白を入れたい
つまり、
C
A
←半角スペース
D
B
このような順でソート、これをユーザー定義リストでやりたいのです。

なるほど、、、
わがままな人大好きなんで何とかします。

ノートルダム寺院火災、本当に言葉もないです。
再建の費用は問題ないでしょうが何十年もかかるという。
つまり今後AIにどんな仕事が奪われていくとしても、この再建にかかわる仕事は今後何十年も続くという事か。
AIにノートルダム寺院は建てられないですからね。CD.2

√とπ以外にも無理数ってなかったっけ、、、知らんけど。
有機化学は勇気をもって、無機化学は向きになって、、、知らんけど。

データ分析をする前に、
どのように収集されたデータか確認するようにしています。
平均値・中央値をみる前に、
外れ値・異常値をみるようにしています。
嫌われることは多々あります。

スマホのエクセルは令和になってる、、、
Windowsのエクセルは平成のまま、、、
きっとわざとだ、そうだ、わざとやってるんだ。

情報セキュリティマネジメント試験
基本情報技術者試験
応用情報技術者試験
プロジェクトマネージャ試験
データベーススペシャリスト試験
エンベデッドシステムスペシャリスト試験
システム監査技術者試験
情報処理安全確保支援士試験
ドレモナマエカラシテムズカシソウ

理論と実践の往還

理論のない実践は盲目であり、実践のない理論は空虚である

家のPCでエクセル練習して、やったーできた!!!
と喜んで、
翌日会社でやったらできない、どうしてですか、、、

このような問い合わせは多くあります。
Officeのバージョンによる違い、特にエクセルの関数の違いは気を付けてください。

もう平成31年5月でいいんじゃない。
誰も怒らんのとちゃう、知らんけど。
もしかしたら、かなり不敬なのかもしれませんけど、
そもそも今現在では、あくまで予定ですよね。

予定は未定にして決定にあらず。

エクセルのTRIM関数は、
「各単語間のスペースは1つ残し、不要なスペースをすべて削除します。」
じゃあ、単語間のスペースはそのまま残し前後のスペースだけ削除したい時はどうしたら良いですか?
えっ、残したいの、えっ、あれっ、えっ、、、

gitに上げるのに何が面倒って、エクスポートがどうにも、、、

とあるパソコン教室のツイートで、
平成31年度(令和元年度)
とかかれているのを見かけた。
パソコン教室でなぜ和暦を使っているのかはさておき、
平成31年度
令和元年度
どっちが正しいのか、、、

Visual Studioのデバッグ
ステップ イン F11
ステップ オーバー F10
なのですが、VBEやってる人はオプションの環境で、
「Visual Basic 6」にするとVBEと同じF8ステップインになります。
こうするとF8,Shift+F8やF11,F10どっちも使えます、お好みで。

SQLでDATE関数とか使われると、ちょっと混乱してしまいます。
DBでそれぞれ違ってくるところですが、なるべく他DBと似たような機能の関数を使ってもらえるとありがたい。
というか、SQLポケットリファレンスにも載ってないのだけど…忘れられたのか…

そもそも理系とか文系ってのが時代遅れだとは思うけど、
でもまあ、なんとなく、そういう切り分けは存在するんでしょうね。

組織においてマクロの使用を制限したくなる気持ちも分からなくはないのですが、
マクロといっても、ほんの数行のVBAで関数ではできない事やかなり大変な事が簡単にできるものも多い。
さすがに、全く拒否というのはいささかもったいない。

エクセルで重複しないデータ化(ユニーク化)
・おおらかな気持ちで重複を許す
・じっと見つめてから頑張る
・関数を使う
・「重複の削除」を使う
・「フィルターオプションの設定」を使う
・「ピボットテーブル」を使う
・「ADO+SQL」を使う

ピボットは操作知ってれば、いろいろできるし速いのですけど、たまにしか使わない機能は、どこだったっけと探してしまう、、、

別シートにデータがあって、
このシートでは費目選択するだけで全て表示されているとしたら、、、
全然問題ないように思えるし、むしろ大したもんだと思う次第。

要はレイアウトやその使い方の問題ではなく、時間がかかることが問題ではないかと。
神エクセルと言われるもの全般に言えることだと思います。

そもそも、ダメとかマズイというのと、こうしたほうが良いというのは別ではありますが、
文字列結合は処理も遅いので、あまり多用するのはどうかとは思う。

データ件数と処理内容によりますが、、、
たとえば、
変数 = Range(A & i) + Range(A & i)
変数 = Cells(i, 1) + Cells(i, 2)
数十万件でやってみると違いが分かるはずです。
逆に言えば、数万件しかやらないのなら違いはないとも言える。

つまり、用途によるということですよね。
Rangeで書いたほ方が簡潔に書ける場合もあるのでダメではない。
基本として覚えるときにどのような書き方をしたほうが良いのかという話ですね。

歳をとってから初めてマウス持たせると、
ダブルクリックがなかなかできない人って結構います。
これは覚えておいた方が良い。
できないことを責めたりすると、
乳首クリックで返されます。

プログラミング能力だけでやっていくのって、少なくとも日本だと少々難しい気がします。
そのように見える人がいても、多分それ以外がいろいろあるけど、わざわざそれを見せていないだけだったりとか。

カウンタ変数としてiが一般的に良く使われます。
まずはiを使うように教えることになりますが、
「iの次は何を使ったらよいですか?」と聞かれることがあります。
「iの次はhかなー」と答えてしばし沈黙の時間が、、、

顧客要望なり仕様書なりで、
「単価」入力チェック:整数10桁以内
これを見た時どうしたら良いか、どうするべきか、、、

Office2003はかろうじて許容したとして、Office2000以前はさすがにどうなのとは思います。
まさか認証いらないからとかって理由で使ってたりしないですよね、、、
Windows7がまだまだ多いでしょうから、使ってるのも分からなくはありませんが、何と言ったらよいのか。

人に教えるというのは難しい。
「ファイルをこうやって…」
怪訝な顔…
「うーん、ファイルをさぁ…」
怪訝な顔…
「どこが分からないの、動かすところ?」
ぼそっと口を開いて、
「ファイルって、その写真の事?」
そこだったかーーー
※ほぼ実話です。

なんでもグラフにすれば良いというものではないとは思いますが、
〇期比較貸借対照表とかになると、数字並んでいるだけじゃ見る気もしなくなる。

「これを…」マウスで指す
「どれを?」
「これ!」マウスをグルグル
「どれ!」
「これだよ、これ!」さらに激しくマウスをグルグル
「んーーー???」

---振り向けば手を見てる---
ノンフィクション

今ビジネスで必須だと思うものは、
英語、会計、IT
令和の時代にシンギュラリティが起こるかどうかは分からない。
しかし、間違いなく、これらは様相を一変せるだろう。
とはいえ、自然言語処理はまだまだ先か。






同じテーマ「エクセル雑感」の記事

エクセル関連ツイートNo2
エクセル関連ツイートNo3
エクセル関連ツイートNo4
エクセル関連ツイートNo5
エクセル関連ツイートNo6
エクセル関連で「いいね」の多かったツイート
保護されたブックの非表示シートについて
VBAコーディング規則に関する連ツイ
将棋とプログラミングについて~そこには型がある~
変数を考えることはロジックを考える事
VBA今日のひとこと/VBA今日の教訓 on Twitter


新着記事NEW ・・・新着記事一覧を見る

TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.ブック・シートの選択(Select,Activate)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ