【Excel・Word・PowerPoint・Access】あなたの「困った」を解決!10年以上の経験が詰まった、現場の疑問から生まれた実践テクニック集。作業効率を劇的に上げるOffice活用術をお届けします。
8/31/2025
Excel。動画で紹介。折れ線グラフ。データが無いと、断線する…まさか図形を手書きなの【Disconnection】
8/30/2025
Excel。VBA。縦棒グラフの色をすべて別々の色に変えたい。【colors】
Excel。VBA。縦棒グラフの色をすべて別々の色に変えたい。
<VBA>
Excelの集合縦棒グラフの棒グラフの塗りつぶされている色についてですが、まとめて同じ色にするならば、手早く設定することができます。
ただ、別々の色で塗りつぶしたい場合には、一つずつ選択して、色を設定していく必要があります。
作業自体は、簡単でも、とっても面倒な作業だといえます。
そこで、Excel VBAでプログラム文をつくってみたらということで、次のようなプログラムを用意してみました。
Sub 棒グラフ色分け()
Dim グラフ As ChartObject
Dim 色コード As Variant
Dim i As Integer
色コード = Array(RGB(255, 0, 0), RGB(0, 0, 255), RGB(255, 255, 0), RGB(0, 255, 0))
Set グラフ = Worksheets("棒グラフ").ChartObjects(1)
With グラフ.Chart.SeriesCollection(1)
For i = 1 To .Points.Count
If i <= UBound(色コード) + 1 Then
.Points(i).Format.Fill.ForeColor.RGB = 色コード(i - 1)
Else
.Points(i).Format.Fill.ForeColor.RGB = RGB(200, 200, 200)
End If
Next i
End With
End Sub
実行してみます。
このように、棒グラフを別々の色に塗る分けることができました。
ところで、集合縦棒グラフは、複数のグループ間で同じ項目を比較したいときに使うと便利なグラフです。
年度ごとの男女別人数や、複数店舗の売上を月ごとに比べる場合など、それぞれの違いや傾向を一目で分かりやすく示せます。
では、プログラム文を確認しておきましょう。
Dim グラフ As ChartObject
シート上のグラフを扱うための変数を用意します。
Dim 色コード As Variant
色を指定するための、変数を用意します。
Dim i As Integer
繰り返し処理に使います。
色コード = Array(RGB(255, 0, 0), RGB(0, 0, 255), RGB(255, 255, 0), RGB(0, 255, 0))
今回は、順番に、赤・青・黄色・緑にしたので、RGBで対応しております。
RGB関数は、Red・Green・Blueの値で色を作る関数です
Set グラフ = Worksheets("縦棒グラフ").ChartObjects(1)
シート「縦棒グラフ」にある、最初のグラフを確認します。
With グラフ.Chart.SeriesCollection(1) ~ End With
「グラフ.Chart.SeriesCollection(1)」を省略するために、With文をつかいます。
For i = 1 To .Points.Count ~ Next i
For文をつかって、繰り返し処理をします。
「Points.Count」は、棒グラフが何本あるかを数えます。
If Then Else End If 文は、棒グラフを塗り分ける処理をします。
If i <= UBound(色コード) + 1 Then
「UBound」は、Array() で作った配列の中で、最大のインデックス番号(=何番目まであるか)を求めています。
「用意した色が何個あるか」を調べて、「何本の棒まで色分けできるか」を判断しています。
.Points(i).Format.Fill.ForeColor.RGB = 色コード(i - 1)
用意した色の数まで順番に色を設定していきます。
.Points(i).Format.Fill.ForeColor.RGB = RGB(200, 200, 200)
もし、色が足りなかったら、グレーにするようにします。
このプログラム文をアレンジすれば、パレート図の塗り分けができるようになります。
8/29/2025
Excel。8進数を10進数に変換するのがOCT2DEC関数です。【OCT2DEC】
Excel。8進数を10進数に変換するのがOCT2DEC関数です。
<関数辞典:OCT2DEC関数>
OCT2DEC関数
読み方: オクトトゥデック
読み方: オクタルトゥバイナリデジマル
分類: エンジニアリング
OCT2DEC(数値)
8進数を10進数に変換する
8/28/2025
Excel。2025/7/27-8/2にCtrl+5などショートカットキーを紹介したFacebookページのコメントです。【comment】
Excel。2025/7/27-8/2にCtrl+5などショートカットキーを紹介したFacebookページのコメントです。
<Facebookページ>
Facebookページに書いた、Excelの豆知識(Trivia)です。
7月27日
Excel。
ショートカット。
Ctrl+3で、斜体の設定/解除をすることができますね。
7月28日
Excel。
ショートカット。
Ctrl+4で、下線の設定/解除をすることができますね。
7月29日
Excel。
ショートカット。
Ctrl+5で、取り消し線の設定/解除をすることができますね。
7月30日
Excel。
ショートカット。
Shiftキー+Altキー+=キーで、なんと、SUM関数が挿入されます。
7月31日
Excel。
ショートカット。
Ctrlキー+PageDownキーで、次のシートに移動できます。
8月1日
Excel。
ショートカット。
Ctrlキー+PageUpキーで、前のシートに移動できます。
8月2日
Excel。
ショートカット。
Altキー+Enterキーで、セルの中で改行できます。
勝手に折り返されることから解放されますね。
8/27/2025
Excel。積み上げ縦棒グラフに合計値のラベルを表示したいけど、どうしたらいい【Stacked Column】
Excel。積み上げ縦棒グラフに合計値のラベルを表示したいけど、どうしたらいい
<積み上げ縦棒>
次の表があります。
この表から、月別の積み上げ縦棒グラフをつくります。
A1:D4を範囲選択して、挿入タブにある2-D縦棒グラフの「積み上げ縦棒」を選択します。
積み上げ縦棒グラフが挿入されます。
グラフタイトルは、説明のため今回削除しております。
データラベルを表示したいので、グラフ要素にあるデータラベルを追加します。
すると、項目ごとのデータラベルは表示されますが、全体の合計は表示されません。
積み上げ縦棒グラフなので、全体の合計値は知りたいところです。
ところが、どこにも、データラベルの合計値を表示するメニューはありません。
できないのでしょうか。
あるいは、テキストボックスをつかって対応するしかないのでしょうか。
そこで、次のように作り方をアレンジすることで、積み上げ縦棒グラフに合計値のデータラベルを追加することができます。
準備として、グラフにする表に合計値を求めておきます。
そして、合計値も含めて範囲選択します。
A1:D5を範囲選択して、積み上げ縦棒グラフをつくります。
横軸が店舗名になっていますので、グラフのデザインタブにある「行/列の切り替え」をクリックします。
積み上げ縦棒グラフは、横軸が月に変更されました。
合計のグラフを折れ線グラフに変更します。
グラフのデザインタブにある「グラフの種類の変更」をクリックします
グラフの種類の変更ダイアログボックスが表示されます。
すべてのグラフタブの「組み合わせ」を選択したら、合計を「折れ線」に変更し、OKボタンをクリックします。
ここまできたら、後は詳細な作業で完成です。
先ほどと同じように、グラフ要素からデータラベルを表示します。
折れ線グラフの合計値のデータラベルも表示されますが、上側に表示したいので、合計値のラベルだけを選択して、データラベルの配置を「上」にすることで読みやすくなります。
データラベルを表示したら、折れ線グラフを表示しておく必要はありません。
折れ線グラフを選択して、図形の枠線にある「枠線なし」をクリックすれば、折れ線グラフは見えなくなります。
最後に、凡例の合計という文字だけを選択してDELキーで削除すれば、合計値のラベルを表示した積み上げ縦棒グラフの完成です。
8/26/2025
Excel。8進数を2進数に変換するのがOCT2BIN関数です。【OCT2BIN】
Excel。8進数を2進数に変換するのがOCT2BIN関数です。
<関数辞典:OCT2BIN関数>
OCT2BIN関数
読み方: オクトトゥビン
読み方: オクタルトゥバイナリ
分類: エンジニアリング
OCT2BIN(数値,[桁数])
8進数を2進数に変換する
8/25/2025
Excel。動画で紹介。100%積み上げ横棒グラフ。データラベルをパーセントで表示したい【Stacked Column】
Excel。動画で紹介。100%積み上げ横棒グラフ。データラベルをパーセントで表示したい
<Youtube>
100%積み上げ横棒グラフ自体は簡単につくることはできます。
ただ、データラベルを表示しようとすると、値での表示はできますが、パーセントで表示することができません。
100%積み上げ横棒グラフなので、パーセントで表示したいわけです。
では、どのようにしたら、いいのでしょうか。
その方法をご紹介しております。
8/24/2025
Access。年月日に分かれたフィールドから日付フィールドをつくりたい【date】
Access。年月日に分かれたフィールドから日付フィールドをつくりたい
<DateSerial関数>
データを読み込んでみたら、年月日がそれぞれ分かれて管理されていました。
これでは、日付として使うことができません。
クエリの演算フィールドをつかって日付フィールドをつくることにしました。
では、どのようにしたらいいのでしょうか。
Excelでは、DATE関数をつかいますが、Accessでは、DATE関数をつかうと、Excelのようには、日付を作ることができません。
AccessのDATE関数は、どちらかというと、Excelでは、TODAY関数と同じで、今日の日付を求めることができるようになっています。
そのため、AccessのDATE関数をつかうと、年月日別々のフィールドから日付をつくることができません。
そこで、つかうのが、DateSerial関数です。
紹介するDateSerial関数が、ExcelのDATE関数と同じように、年月日が別々のフィールドから日付をつくることができる関数です。
作る前に、データを確認してみると、A03の日フィールドのあたいが32になっています。
32日なんてありませんが、DateSerial関数をつかうと、どうなるのかも合わせて確認していくことにしましょう。
では、クエリデザインで、早速クエリをつくっていきます。
次の演算フィールドをつくります。
年月日: DateSerial([年],[月],[日])
実行して確認してみましょう。
年月日別々のフィールドから、日付のフィールドをつくることができました。
そして、注目するのは、A03のデータ。
日が32になっていましたが、日付になったらば、自動的に、1日繰り上がって、翌日の2025/08/01になっていることが確認できます。
このように入力ミスなのか、わかりませんが、おかしな日付でもそれに合う日付として演算してくれるようです。
8/23/2025
Excel。NUMBERVALUE関数は文字列を数値に変換します。【NUMBERVALUE】
Excel。NUMBERVALUE関数は文字列を数値に変換します。
<関数辞典:NUMBERVALUE関数>
NUMBERVALUE関数
読み方: ナンバーバリュー
分類: 文字列操作
NUMBERVALUE(文字列,[小数点記号],[桁区切り記号])
特定の地域に依存しない方法で文字列を数値に変換する
8/22/2025
Excelのショートカットキー。Ctrl+6~10までを紹介【shortcut】
Excelのショートカットキー。Ctrl+6~10までを紹介
<ショートカットキー>
作業効率もUPする、知っていると便利なショートカットキー。
Ctrl+6
オブジェクトを非表示にする。
リボンの図やグラフが使えなくなります。
Ctrl+8
アウトライン記号の表示と非表示を切り替える。
Ctrl+9
選択した行を非表示にする。
Ctrl+0
選択した列を非表示にする。
8/21/2025
Excel。MOSの試験範囲。支払い回数を求めるのがNPER関数です。【NPER】
Excel。MOSの試験範囲。支払い回数を求めるのがNPER関数です。
<NPER関数>
MOSの試験範囲にもある、NPER関数ですが、苦手という人もいらっしゃいますので、今回は、NPER関数について紹介していきます。
NPER関数は、Number of Periodsの略です。
資金計画やローン返済で、一定の利率で定期的に支払われる定額の支払い(または受け取り)に対して、目標金額を達成するのに必要な期間(回数)を求める関数です。
たとえば、「ローンを毎月いくら支払ったら、何回で完済できるのか」など、期間の逆算が必要な状況で使用します。
改めてですが、NPER関数は、返済する「回数」です。
PMT関数は返済する「定期支払額」です。
MOSで、回数だったら、NPER関数。
金額だったらPMT関数をつかうと覚えておくといいかもしれません。
では、次の表でNPER関数を紹介します。
C5に設定したNPER関数は、
=NPER($B$1/12,$B5,C$4,,0)
あとは、オートフィルで数式をコピーします。
では、数式を確認しておきましょう。
NPER関数の基本的な書式は次の通りです。
NPER(利率, 支払額, 現在価値, [将来価値], [支払期日])
最初の引数の利率は、B1です。
オートフィルで数式をコピーしますので、絶対参照を設定します。
ポイントは、求める単位が「月」なので、「/12」する必要があります。
2番目の引数の支払額は、B5です。
オートフィルで数式をコピーします。
列固定の複合参照にする必要がありますので、$B5と設定します。
3番目の引数の現在の価値は、借入金のことなので、C4です。
こちらも、オートフィルで数式をコピーしますので、行固定の複合参照にする必要があります。
C$4と設定します。
4番目の引数は、将来価値です。
借入金は返し終われば0円になりますので、0でもいいですし、省略してもOKです。
今回は省略しました。
最後の引数は、支払期日です。
期首なら1。
期末なら0を設定します。
今回は、期末なので0と設定します。
8/20/2025
Excel。NUMBERSTRING関数は数値を漢数字に変換します。【NUMBERSTRING】
Excel。NUMBERSTRING関数は数値を漢数字に変換します。
<関数辞典:NUMBERSTRING関数>
NUMBERSTRING関数
読み方: ナンバーストリング
NUMBERSTRING(数値,書式)
数値を漢数字に変換する
関数挿入ダイアログボックスは表示されません。
8/19/2025
Excel。2025/7/20-7/26にCtrl+1などショートカットキーを紹介したFacebookページのコメントです。【comment】
Excel。2025/7/20-7/26にCtrl+1などショートカットキーを紹介したFacebookページのコメントです。
<Facebookページ>
Facebookページに書いた、Excelの豆知識(Trivia)です。
7月20日
Excel。
ショートカット。
CtrlキーとHomeキーで文頭に移動できますね。
7月21日
Excel。
ショートカット。
CtrlキーとEndキーでデータが入っている最後に移動できますね。
テーブルだと、テーブルの末に移動ですね。
7月22日
Excel。
ショートカット。
F12キーで、名前を付けて保存ダイアログボックスが登場しますね。
7月23日
Excel。
ショートカット。
F2キーで、アクティブセルの末にカーソルが入り修正が出来るようになりますね。
7月24日
Excel。
ショートカット。
ShiftキーとF3キーで、関数の挿入ダイアログボックスが表示されますね。
7月25日
Excel。
ショートカット。
Ctrl+1で、セルの書式設定ダイアログボックスを表示できます。
とてもよく使用しますね。
7月26日
Excel。
ショートカット。
Ctrl+2で、太字の設定/解除をすることができますね。
8/18/2025
Excel。ローン返済の定期支払額を求めるPMT関数【PMT】
Excel。ローン返済の定期支払額を求めるPMT関数
<PMT関数>
財務系の関数というのがExcelにありますが、あまり使うことはないかもしれません。
ただ、MOS(マイクロソフト オフィス スペシャリスト)のExcel Expert には、PMT関数が試験範囲として含まれているようです。
結構苦手な方もいるので、今回は次の表をつかって、PMT関数をご紹介します。
MOSでは、財務系の関数のうち、短時間にどの関数をつかうのかを判断する必要があります。
PMT関数は、「ローンなど定期的な返済額を計算する」関数だということを押さえておくといいですね。
なお、」PMT関数のPMTは、「Payment(支払い)」の略です。
では、C5をクリックして、PMT関数をつかった数式を設定します。
これで、定期支払額を求めることができました。
=PMT($B$1/12,$B5,C$4,,0)
数式を確認しておきましょう。
PMT関数の基本的な構文は、
=PMT(利率, 期間, 現在価値, [将来価値], [支払期日])
という引数をもっています。
最初の引数の「利率(Rate)」は、各期ごとの利率なので、B1をクリックします。
ただ、オートフィルで数式をコピーしますので、絶対参照を忘れずに、設定します。
そして、ポイントなのですが、通常は年利率になっています。
求めたいのが月ごとなので、「/12」と12で割る必要があります。
2つ目の引数は「期間(Nper)」は、B5:B9に用意されています。
B5を設定するわけですが、ここもオートフィルで数式をコピーします。列を固定した、「$B5」という複合参照にする必要があります。
3つ目の引数は、「現在価値(Pv)」です。
C4をつかいますが、ここもまた、オートフィルで数式をコピーしますので、今後は、行固定の複合参照にする必要がありますので「C$4」とします。
4つ目の引数は、「将来価値(Fv)」。
将来価値の指定はありませんので、省略します。
5つ目の引数は、「支払期日(Type)」。
支払いのタイミングで、0:期末、1:期首となっています。
月末という指定がありますので、「0」を設定します。
これで、完成しました。
PMT関数のポイントですが、利率の単位ミスに注意が必要です。
期間の単位を合わせる(年か、月か)
借入金額や積立額は「-」(マイナス)で入力する。
財務関数は、手元に入る金額を「+」で、手元から減る金額を「-」と表示します。
月額の支払ですから、「-(マイナス)」で表示されます。
これらをおさえれば、MOSの設問で登場しても対応できると思います。
8/17/2025
Word・Excel。動画で紹介。差し込み文書。差し込んだら書式が消えてしまう!【Mail Merge】
Word・Excel。動画で紹介。差し込み文書。差し込んだら書式が消えてしまう!
<Youtube>
Wordにある「差し込み文書」
とても便利な機能の一つです。
Excelで用意したデータを差し込むことで、コピペよりも、はるかに、作業効率はいいです。
ところが、トラブルが発生しました。
それは、日付を挿入してみたら、月日年で表示される。
元号も消えてしまう。
「,」の三桁カンマも消えてしまう。
いったいなぜ!どうして!
その原因と対応方法を紹介しております。
8/16/2025
Excel。キャッシュフローに基づいた正味現在価値を算出するのがNPV関数です。【NPV】
Excel。キャッシュフローに基づいた正味現在価値を算出するのがNPV関数です。
<関数辞典:NPV関数>
NPV関数
読み方: エヌピーヴイ
読み方: ネット・プレゼント・バリュー
分類: 財務
NPV(割引率,値1,[値2],…)
キャッシュフローに基づいた正味現在価値を算出します
8/15/2025
Excel。合格ラインは上位25%と決めたけど、その点数を知りたい【Top 25%】
Excel。合格ラインは上位25%と決めたけど、その点数を知りたい
<QUARTILE.INC関数>
テストの結果一覧があります。
今回は、試験の合格者を「上位25%以上」とすることにしましたが、いったい何点が上位25%にあたるのでしょうか。
Excelでは、QUARTILE.INC関数をつかうことで、上位25%以上を手早く求めることができます。
E2に、QUARTILE.INC関数をつかった数式を設定します。
=QUARTILE.INC(B2:B11,3)
これで、74.75と表示されましたので、74.75以上が上位25%に該当するので合格と判断できるというわけです。
さて、この関数、2つ目の引数の設定が、わかりにくいので、説明をしていきます。
最初の引数は、配列。
範囲選択なので、B2:B11と設定します。
そして、問題の2つ目の引数です。
そもそも、QUARTILE.INC関数は、四分位を求めることができる関数です。
25%・50%・75%と25%で区切られています。
25%以上なので、引数は、「1」の第1四分位数(25%)でいいと思われますが、「3」の第3四分位数(75%)でなければなりません。
どういうことなのでしょうか。
四分位は、
第1四分位数(Q1): 下から25%の位置にくる値
第2四分位数(Q2、中央値): ちょうど50%の位置にくる値
第3四分位数(Q3): 下から75%、すなわち上から25%の位置にくる値
と区分けされています。
合格ラインを「上位25%以上」と設定した場合、これは統計的には第3四分位数(Q3)、すなわち全体の75%の位置に相当します。
合格者はQ3以上、すなわち得点分布の上位25%に入ることが条件となります。
このようなことから、今回は上位なので、降順に並べ替えて、上位25%なので、下から75%の第3四分位数の「3」を設定する必要があったというわけです。
単純に、第1四分位数の「1」をつかってはダメというわけです。
8/14/2025
Excelのショートカットキー。Ctrl+1~5までを紹介【shortcut】
Excelのショートカットキー。Ctrl+1~5までを紹介
<ショートカットキー>
作業効率もUPする、知っていると便利なショートカットキー。
Ctrl+1
セルの書式設定ダイアログボックスを表示する
Ctrl+2
セルを太字にする
Ctrl+3
セルを斜体にする
Ctrl+4
セルに下線を引く
Ctrl+5
セルに打ち消し線を引く
8/13/2025
Excel。NPER関数は元利均等返済における支払回数を算出します【NPER】
Excel。NPER関数は元利均等返済における支払回数を算出します
<関数辞典:NPER関数>
NPER関数
読み方: エヌパー
読み方: ナンバー・オブ・ピリオズ
分類: 財務
NPER(利率,定期支払額,現在価値,[将来価値],[支払期日])
元利均等返済における支払回数を算出します
Number of Periods の略
8/12/2025
Excel。元表は残して、別表の集計表を、手早く関数だけでつくりたい。【GROUPBY】
Excel。元表は残して、別表の集計表を、手早く関数だけでつくりたい。
<GROUPBY関数>
元の表を残したまま、集計結果を別表としてつくりたい。
さらにできれば、総合計の行も追加したい。
A1:D8にデータがあって、地域別の販売金額合計をF列を起点とした別表をつくりたい。
このような場合、集計機能をつかうとか、テーブルにする、あるいは、ピボットテーブルをつかって等々、いろいろな方法が考えらますが、どの方法もちょっと、アレコレしないと求めることができないわけです。
そこで、GROUPBY関数をつかうことで、集計も、そして、販売金額の総計も合わせて求めることができます。
F2にGROUPBY関数をつかった数式をつくります。
=GROUPBY(C2:C8,D2:D8,SUM,0,1)
では、結果を見てみましょう。
地域別で集計をしています。
そして、地域名の一番下に、合計という、販売金額合計の合算値である総計を求めることもできました。
GROUPBYは、集計をするのに、便利な関数です。
では、引数を確認しておきましょう。
新しい関数なので、引数が英語表示になっています。
GROUPBY(row_fields,values,function,[field_headers],[total_depth],[sort_order],[filter_array],[field_relationship])
1番目の引数は、row_fields。
まとめたい範囲なので、地域名のC2:C8。
2番目の引数は、values。
集計したい範囲なので、販売金額のD2:D8
3番目の引数は、function。
集計方法です。
手入力だと一覧から選択できます。合計をしりたいので、SUM
4番目の引数は、field_headers。範囲に見出しのデータがあるなら、どうするということを対応します。
範囲には、見出し行はないので、「0」のいいえ を選択しました。
5番目の引数は、total_depth。
合計行を表示するのかを設定します。
総計を表示したいので、1と設定します。
GROUPBY関数で、集計と総計も合わせた、抽出をおこなうことができました。
8/11/2025
8/10/2025
Excel。動画で紹介。条件付き最大値は、MAXIFS関数で「または」のOR条件だとダメなんです。【OR】
Excel。動画で紹介。条件付き最大値は、MAXIFS関数で「または」のOR条件だとダメなんです。
<Youtube>
Excelの関数に、条件付き最大値を求めることができる
MAXIFS関数というのがあります。
このMAXIFS関数。
ちょっとした欠点があるのです。
それは、「~または~」のOR条件だと、求めることができません。
では、どのようにしたら、OR条件の最大値を求めることができるのでしょうか。
その対応法を紹介しております。
8/09/2025
Excel。VBA。万年カレンダーを関数で作ると大変なのでVBAでつくってみました。【calendar】
Excel。VBA。万年カレンダーを関数で作ると大変なのでVBAでつくってみました。
<Excel VBA>
Excelで、万年カレンダーをつくりたい場合、色々考えなければいけません。
A1には年。
B1には月。
その値をつかった万年カレンダーの場合、1日を、該当する曜日から始めなければいけません。
その判断をする必要があります。
土曜日になったら、次の行に移動して、土曜日に+1するか、前の週に+7するなど考える必要があります。
最終週も4行でいいのか、5行必要なのか。
そして、月末日も考えなければいけません。
このように色々考えるならば、Excel VBAで考えてみたらどうなのでしょうか。
次のような構文をつくってみました。
Sub 万年カレンダー()
Dim yearVal As Integer
Dim monthVal As Integer
Dim startDay As Integer
Dim lastDay As Integer
Dim rowOffset As Integer
Dim colOffset As Integer
Dim i As Integer
yearVal = Range("A1").Value
monthVal = Range("B1").Value
Range("A4:G9").ClearContents
startDay = Weekday(DateSerial(yearVal, monthVal, 1))
lastDay = Day(DateSerial(yearVal, monthVal + 1, 0))
rowOffset = 4
colOffset = startDay
For i = 1 To lastDay
Cells(rowOffset, colOffset).Value = i
If colOffset = 7 Then
rowOffset = rowOffset + 1
colOffset = 1
Else
colOffset = colOffset + 1
End If
Next i
End Sub
これで、実行すると、A4を起点とした、万年カレンダーをつくることができます。
もっといい方法があるとは思いますが、プログラム文を確認しておきましょう。
お馴染みの関数宣言です。
Dim yearVal As Integer 年をいれます
Dim monthVal As Integer 月をいれます
Dim startDay As Integer 1日が何曜日なのかという曜日番号をいれます
Dim lastDay As Integer 末日をいれます
Dim rowOffset As Integer 先頭行などの行番号をいれます
Dim colOffset As Integer 土曜日になったら改行したいのでそのために使用します
Dim i As Integer 繰り返し処理でつかいます
yearVal = Range("A1").Value
A1の年を代入します。
monthVal = Range("B1").Value
B1の月を代入しています。
Range("A4:G9").ClearContents
前に作った、日付が残っているので、カレンダーをクリアします。
startDay = Weekday(DateSerial(yearVal, monthVal, 1))
Weekday関数をつかって、1日が何曜日からはじまっているのかを求めます。
Weekday関数は、初期設定で、1を日曜日で2を月曜日、7が土曜日というように数値を割り振る関数です。
lastDay = Day(DateSerial(yearVal, monthVal + 1, 0))
28日とか30日とか31日などの、月末日を代入します。
開始位置のオフセットを決定
rowOffset = 4
A4から開始万年カレンダーが始まりますのでA4の4を代入します。
colOffset = startDay
1日が何曜日なのかに応じて、万年カレンダーの開始列を設定します。
For i = 1 To lastDay Next 文 で、日付を入力します。
Cells(rowOffset, colOffset).Value = i
行と列が代入されています。
1日が入るセルはわかっているので、そこに1をいれます。
その後、2から末日の数値まで繰り返し処理をします。
If colOffset = 7 Then
rowOffset = rowOffset + 1
colOffset = 1 ' 次の週の日曜日へ
Else
colOffset = colOffset + 1
End If
このIf Else End If文で、土曜日になったら、次の行に移動するようにしています。
7列目すなわちG列になったら、次の行に日付を入れる必要があるので、行に+1して、列は1であるA列に戻します。
それ以外は、列方向を+1させます。
これで、万年カレンダーをつくることができます。
関数で同じようなことを考えて作るよりも、Excel VBAでプログラム文をつくってみてもいいのかもしれません。
8/08/2025
Excel。2025/7/13-7/19にCtrl+Sなどショートカットキーを紹介したFacebookページのコメントです。【comment】
Excel。2025/7/13-7/19にCtrl+Sなどショートカットキーを紹介したFacebookページのコメントです。
<Facebookページ>
Facebookページに書いた、Excelの豆知識(Trivia)です。
7月13日
Excel。
ショートカット。
Ctrl+oで、ファイルを開くダイアログボックスが登場しますね。
7月14日
Excel。
ショートカット。
Ctrl+sで、上書き保存ですね。
7月15日
Excel。
ショートカット。
Ctrl+pで、印刷ダイヤログボックス。
7月16日
Excel。
ショートカット。
Ctrl+;で、今日の日付が表示できます。
セミコロンなんですね。
7月17日
Excel。
ショートカット。
Ctrl+:で、今の時間が表示できます。
コロンなんですね。
7月18日
Excel。
ショートカット。
Ctrlキーとスペースキーで列選択ができますよ。
7月19日
Excel。
ショートカット。
Shiftキーとスペースキーで行選択ができますよ。
8/06/2025
PowerPoint。デザインのテーマ。大文字しか入力できないのでどうしたらいいの。
PowerPoint。デザインのテーマ。大文字しか入力できないのでどうしたらいいの。
<PowerPoint>
PowerPointのデザインのテーマにある「メイン イベント」。
このテーマをつかってみたら、アルファベットを入力すると、すべて大文字になってしまいます。
Caps Lock や Shiftキーを押そうが、すべて大文字になってしまいます。
どうやら、この「メイン イベント」は、アルファベットが大文字になってしまう設定になっているようです。
では、どうしたら、小文字を入力することができるのでしょうか。
その対応方法をご紹介していきます。
ホームタブのフォント。
フォントダイアログボックスを表示します。
文字飾りにある「すべて大文字」にチェックがはいっているために、アルファベットがすべて大文字になってしまったというわけです。
このチェックをオフにすれば、問題は解決します。
PowerPointのテーマのスタイルには、ちょこちょこ、フォントが大文字になってしまうものがありますので、その場合には、フォントダイアログボックスで確認してみると解決するかもしれません。
8/05/2025
Excel。動画で紹介。どうやったらいいの?日付から4-3月に対応した四半期を求めたい。【quarter】
Excel。動画で紹介。どうやったらいいの?日付から4-3月に対応した四半期を求めたい。
<Youtube>
四半期。
1月-3月を第一四半期とする場合もあれば、年度のように、4月-6月を第一四半期とする場合もあります。
日付から月を求めるには、MONTH関数というのは、わかりますが、四半期をもとめる関数はありません。
では、日付から、どうやって四半期を求めたらいいのでしょうか。
そこで、ある関数をつかうことで、手早く求めることができます。
8/04/2025
Excel。累積確立から標準正規の数値を逆算するのがNORMSINV関数です。【NORMSINV】
Excel。累積確立から標準正規の数値を逆算するのがNORMSINV関数です。
<関数辞典:NORMSINV関数>
NORMSINV関数
読み方: ノーマルスタンダードインバース
分類: 互換性
NORMSINV(確率)
累積確立から標準正規の数値を逆算する
8/03/2025
Access。クエリ。日付のフィールドがあるので、曜日名を表示したい【day of week】
Access。クエリ。日付のフィールドがあるので、曜日名を表示したい
<クエリ>
日付フィールドのあるテーブルがあります。
日付が何曜日だったのかが、わからないので、曜日フィールドを追加したいのですが、テーブルでつくると、調べないといけませんし、入力しなければなりません。
とても面倒です。
そこで、クエリの演算フィールドをつかうことで、曜日名を表示することができます。
作成タブのクエリデザインでクエリをつくっていきます。
該当のテーブルを設定します。
デザイングリッドに必要なフィールドを設定していきます。
そして、曜日名を表示するための演算フィールドを設定します。
曜日: WeekdayName(Weekday([日付]))
まずは、実行して確認をしてみましょう。
このように、日付に対する曜日を表示することができました。
では、設定した演算フィールドを確認しておきましょう。
曜日: WeekdayName(Weekday([日付]))
WeekdayName関数は、曜日名を求めることができます。
引数には、日曜日ならば1で土曜日ならば、7という数値を設定します。
曜日に該当する数値を求めることができるのが、引数内でつかっているWeekday関数です。
Weekday関数をつかうことで、曜日を数値で求めることができます。
Excelにも、WEEKDAY関数はあります。
曜日名を求めるには、IF関数などの多分岐関数を使うなどしなければ、曜日名まで求めることはできません。
Accessには、WeekdayName関数という曜日名を表示してくれる関数が用意されていますので、手早く曜日名を求めることができるようになっています。