表の作成あれこれ ③ 取り消し線で訂正しない

Excelで作られた定価表で、面倒な編集を何とかしたい。 そんな相談を受けたことがある。実際の定価表は、こんな感じだった。 これは、手書きの表をExcelで忠実に再現した、よく見かけるパターンのやつじゃ ないか。しばらく眺めてから、依頼者に訊いてみた。…

表の作成あれこれ ② コード管理で揺らぎを抑制

Excelで作られた販売管理表をもとに、売り上げを集計したい。 そんな相談を受けたことがある。管理表の顧客名は、こんな感じだった。 しばらく眺めてから、依頼者に訊いてみた。(幸い客先名称を管理する 客先名称コードがあったので、)こんな感じに直して…

表の作成あれこれ ① 日程は開始日と終了日で表現

Excelで作られた管理表Aから日付を抽出し、別の管理表Bで再利用したい。 そんな相談を受けたことがある。管理表Aの日付は、こんな感じだった。 しばらく眺めてから、依頼者に訊いてみた。管理表Aを、こんな感じに 直してもいいですか? 特に、A社のよう…

OR の 代わりに Like を使う

最近のお気に入りは、OR演算子の代わりに、Like演算子を使うこと。 使える場面は限られるが、例えば下記のような場合。<条件> 文字列の一文字目がAまたはBまたはCのとき、〇を返す。 上記以外の場合、×を返す。 昔は、こんな風に書いていた。 Function …

社名をキーに、各商品の合計額を求めるアレコレ の続き

前回、こちらの記事を作成した。 infoment.hatenablog.comところが、よくよく確認してみると、テーマの趣旨を取り違えていた。 各社各商品の売り上げ記録を合計せねばならぬところ、売上表を価格表と 取り違えてましたm(_ _)m。ということで、改めて考…

社名をキーに、各商品の合計額を求めるアレコレ

コロ子さんのブログに書き込みしたところ、過去記事を紹介していただいた。 koroko.hatenablog.com念のため、おさらい。 ↓のような表に於いて、社名ごとに商品の合計額を知りたい。 私の過去記事では、 辞書に、全商品の金額を格納した配列をセットするパタ…

50円単位で切り上げる(失敗談)

かつて(10年以上前に)、このような相談を受けたことがある。 Excelで、金額を50円単位で切り上げたい。 例えば、34円を切り上げて50円にしたい。 しかし、十の位を切り上げれば100円に、一の位を切り上げれば40円と なって、50円には届かない。さて、どう…

配列からの値貼り付けに関する覚書 ③ ところどころに数式を含むテーブルに、レコードを丸ごとベタッと貼り付けたい

先日、四苦八苦した体験談からのご紹介。 例えば、こんなテーブルがあるとする。 このテーブル、実は年齢の列だけ数式がセットされている。 このような条件のもと、レコードを追加したい。 例えば、この追加レコードを配列に格納して、テーブルに ベタっと追…

複数あるExcelファイルを開いて列幅調整

先日、このような困りごとをお見掛けした。 システムから吐き出された複数のExcelファイルがある。 機械的に吐き出されているため、列幅未調整で、文字が見切れている。 これらのファイル全てについて、列幅を自動調整する必要がある。 挑戦してみた。 まず…

配列からの値貼り付けに関する覚書 ② 値と数式の混在は成立しない場合がある(失敗談)

先日体験した失敗談からのご紹介。 例えば、こんなテーブルでのお話。 納期は基本的に、発注日の14日後だ。 ところが、このテーブルの使用者から、こんな要望が寄せられた。 果物によっては、納期が変わる場合があって、納期のセルを上書きしたい。 上書き…

配列からの値貼り付けに関する覚書 ① Transpose関数とIndex関数は極力使用しない

ここ一週間ほど、(私にとっての)大規模マクロを作成していて、泥沼に はまっている(絶賛継続中)。そこから抜け出そうとして得た教訓を一つ二つ、覚書として残しておこう。 例えば、こんなテーブル。 これについて「品名列をF2~F4に転記したい」とする。…

失敗談の失敗再現を失敗していた話(失敗談)

以前、失敗談としてこんな話を書いた。 Transpose関数には、行列入れ替えの上限があるらしい、という話だ。 infoment.hatenablog.comところがよくよく調べてみると、失敗談として紹介したかった内容を、 正しく再現できていないことに気づいた(偶然)。当時…

OR関数についての備忘録

今日はOR関数について、自分用の備忘録(すぐ忘れるので)。 例えば、指定した県が北陸三県であるか判別したい場合。 ユーザー定義関数でORを用いると、このような表現が可能だ。 とても一般的で、理解し易いと思う。 Function Is北陸_OR(県名 As String) …

辞書には配列を入れることもできるし、辞書を配列にすることもできる

今日は、辞書(Dictionary)について気づいたお話。 辞書には、色んなものが入る。例えば、配列も入れられる。 例えば、毎度おなじみ「なんちゃって個人情報」にて。 名前をキーにして、各行を配列に格納したのち、それをアイテムにしてみる。 Sub Test() ' …

セルの値を合計するマクロ

↓ こちらが面白い。 www.atmarkit.co.jp中でも、登場人物のこの会話が楽しくて好きだ。 「セルの値を合計するマクロができたぞ……!」 「そういう再発明もたまにはいいですよね」ということで、私もセルの値を合計するマクロを作ってみた。 この飛び飛びの範…

二回宣言すると怒られる

Excel VBA では、同じ変数を二回宣言すると怒られる。 例えば、こんな感じだ。 変数の型を変えても、見逃してはもらえない。 ところが先日、自分では意図せず、このように宣言したものが あることに気づいた。 片方は、モジュールレベル変数。同一モジュール…

昔のアニメ映画の予告編みたいな文字送り

今も印象深く心に残っているのが、小学生の時に見たアニメ映画 「幻魔大戦」 の劇場予告編だ。↓ ※音が出たらマズイ人は、ご注意ください。 youtu.beこの「幻魔大戦」の4文字の出し方が、子供ながらに格好良いと 思った。そこで今回は、これをExcel で疑似的…

スケジュール管理表を作成 ⑩ まとめ

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、前回の続きから。 前回までで、一応の完成を見せたスケジュール表。 数日間にわたり、業務で使用してみた。結果、幾つかの細かな修正を経た ものの、全体的に問題なく…

スケジュール管理表を作成 ⑨ 実行中の作業を中断

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、前回の続きから。例えば、こんな予定を立てていたとする。 ところが「●●ユニット」を構想し始めて30分経った頃、上司からの指示で 打ち合わせを行うことになった。こ…

スケジュール管理表を作成 ⑧ 前日の続きからシート作成

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、前回の続きから。 例えば、こんな感じで一日を終えたとする。 この日最後に終えた案件Fについて、実は二通りのパターンがある。 きっちり最後まで終えて帰宅した。 …

スケジュール管理表を作成 ⑦ 案件追加用フォーム作成

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、前回の続きから。 例えば、実施内容のCとDの間に、新たな案件を追加したいとする。 現状は、行を挿入したうえで実施内容と作業予定時間の入力を、それぞれ 手入力で…

スケジュール管理表を作成 ⑥ セルのダブルクリックで終了時刻を15分単位で入力

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、前回の続きから。 その案件が終わって、終了時刻を入力するとき。手入力するならば都度、 時計に目を向けねばならない。また、タイプミスが起きる恐れもある。 そこで…

スケジュール管理表を作成 ⑤ その日に出来る範囲を把握してみる

先日から、スケジュール管理票をExcelで作成している。 infoment.hatenablog.com 今日も、先日の続きから。 これから少し、シートの塗りつぶしなどによる見える化も行っていく予定。 そのために、見た目は極力質素にしておきたい。ということで、見た目を少…

スケジュール管理表を作成 ④ 見込み時間の長短を視覚でとらえる

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、昨日の続きから。 先日から作成しているスケジュール表は、今のところ見た目は文字と数字の 羅列であり、ガントチャートのような視覚に訴える効果は無い。 実は昨日突…

スケジュール管理表を作成 ③ 列名をEnumで管理

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、昨日の続きから。 昨日作成したユーザー定義関数で、一つ大きな抜けがあった。 関数自体に抜けがあったわけではなく、関数に使用したEnumを掲載して いなかったのだ。…

スケジュール管理表を作成 ② ユーザー定義関数でIF文の多重入れ子解消

昨日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日は、昨日の続きから。 昨日は、数式で以って終了予定時刻を算出した。 実はこれに、もう少し条件の追加が必要だ。しかしこれ以上、IF文の多重 入れ子構造になると、ぱっと…

スケジュール管理表を作成 ① 案件の追加と差し込み

一年の計は元旦にあり。ということで、元旦を10日も過ぎてしまったが、 スケジュール管理表を作成してみよう。 個人的に、予定管理において特に重要な項目は、以下の三つと考える。 時間管理 予実管理 優先度管理 そこで、管理項目を以下に書き出してみた。 …

表で累積を表示したい

職場で、「Excelの表で累積を表示したい」という相談を受けた。 さて、どうしたものか。 今回は、以下二つの制約があった。 表は、2行がセル結合で1レコードになっている。 途中のレコードを削除する場合がある。 例えば、こんな感じだ。 良し悪しはさてお…

何十年何百年後に

情熱大陸の或る回を、次男(小1)が繰り返し見ている。 その中に出てきた言葉についてのお話。 「本物そっくり!メタルな生き物たち 自在置物作家 満田晴穂」この回では、自在置物作家の満田晴穂さんが紹介されている。ja.wikipedia.orgこの方の作品、特に…

変更前と変更後の違いをまとめた配列を作成

先日改修した自作のクラスモジュール:ArrayEditについて。 infoment.hatenablog.com 今日は、必要に迫られて更に改修した、というお話。 今までは、二つの表を比較する際、各レコードについて 変更 削除 追加 の各情報を「⇒」で表していた。 【元データ】 …