3/09/2025

Excel。VBA。アチコチにある結合されているセルを手早く解除したい【Unbind】

Excel。VBA。アチコチにある結合されているセルを手早く解除したい

<MergeCellsプロパティ・UnMergeメソッド>

セル結合をしていると、何かとExcelの機能が使えないので、不便を感じることが多々あります。


シート状に結合されているセルの数が少なければ、まだいいのですが、解除自体の処理は簡単でも、多くなると面倒でしかありません。


そこで、今回は、Excel VBAでプログラム文をつくって対応してみようと思います。


次の表を用意しております。


A5とA9とA14で結合しています。また、A14とC14は列方向で結合しています。


この結合したセルを解除するプログラム文です。

Sub 結合解除()

    Dim i As Long

    Dim j As Long

    Dim lastrow As Long

    

    lastrow = Cells(Rows.Count, "a").End(xlUp).Row

        

    For j = 1 To 3

        For i = 1 To lastrow

            If Cells(i, j).MergeCells = True Then

                Cells(i, j).UnMerge

            End If

        Next i

    Next j

End Sub


では、実行してみましょう。

アチコチにある結合されているセルを手早く解除したい

わかりやすいように、罫線の格子を設定しました。


ご覧のように、結合されていたセルが、すべて解除されていることが確認できました。


それでは、プログラム文を確認しておきましょう。


If Cells(i, j).MergeCells = True Then

Cells(i, j).UnMerge

End If


MergeCellsプロパティをつかうことで、セルが結合されているかどうかを確認することができます。


結合されていれば、Trueを返してくれます。


そして、Trueだったらば、

UnMergeメソッドで、解除することができます。

3/08/2025

Excel。LOGINV関数で、累積確率から対数正規分布を算出できます。【LOGINV】

Excel。LOGINV関数で、累積確率から対数正規分布を算出できます。

<関数辞典:LOGINV関数>

LOGINV関数

読み方: ログインバース  

分類: 互換性 

LOGINV関数

LOGINV(確率,平均,標準偏差)

累積確率から対数正規分布を算出します


3/07/2025

Excel。動画で紹介。条件付き書式を設定したセルを簡単に探すことができます。【search】

Excel。動画で紹介。条件付き書式を設定したセルを簡単に探すことができます。

<Youtube>

条件付き書式。

設定自体は簡単ですが、条件が合致しないと、設定してあるかどうか、見た目ですぐにはわかりません。


条件が合致しなければ、書式は反映されないからです。


では、どこに条件付き書式が設定されているのかを、簡単に見つける方法がありますので、それを紹介しております。

3/06/2025

Excel。時間の大小比較の結果がおかしいんです。どう対応したらいいの。【Comparison】

Excel。時間の大小比較の結果がおかしいんです。どう対応したらいいの。

<IF+TIMEVALUE関数>

次の表は、ランニング成績の表です。

時間の大小比較の結果がおかしいんです。どう対応したらいいの。

C列がスタート時間で、D列には、ゴールした時間が入力されています。


E列には、経過した時間。

=D2-C1

という数式が設定されています。


オートフィルで数式をコピーして、E5まで求めた表です。


そして、F列には、1時間以内なら○と表示する数式を設定してみました。


F2の数式は、

=IF(E2<="1:00","○","×")


オートフィルで数式をコピーしてみると、結果がおかしなことがわかります。


全部「○」になっています。


IF関数をつかっていて、論理式は、「E2<="1:00"」と、「1時間以内なら」という条件にしたはずなのですが、うまくいっていません。


「E2<="1:00"」の「”(ダブルコーテーション)」が邪魔なのかと思い、消した数式、

=IF(E2<=1:00,"○","×")

にしてみると、

エラーが表示されます。


何が原因なのでしょうか。


そこで、数式タブにある、数式の検証をつかって、確認してみましょう。


数式の検証は、数式の途中結果などの状況を確認することができるツールです。


クリックすると、数式の計算ダイアログボックスが表示されます。


検証ボタンをクリックすると、1ステップずつ、計算されます。


時間は、Execlの場合シリアル値に戻りますので、0.05となっています。


検証ボタンをさらにクリックして、進めてみると、

”1:00”は、シリアル値にかわることなく、文字として扱われていることが確認できます。


“1:00”は、文字扱いになっていますから、当然、”1:00”という文字よりも、数値の方が小さい扱いになるので、すべて「○」になってしまったというわけです。


”1:00”をどうにか、時間に変換することができれば、解決できるわけです。


そこで、登場するのが、TIMEVALUE関数です。


まずは、先程の数式に、TIMEVALUE関数を追加して修正してみます。


=IF(E2<=TIMEVALUE("1:00"),"○","×")


オートフィルで数式をコピーしてみると、正しい結果を求めることができました。


このTIMEVALUE関数は、


文字列で表示された時刻をシリアル値に変換してくれる関数です。


もし、時間を使った計算で、結果が正しくない場合には、文字になっていないか、文字になっていたら、TIMEVALUE関数をつかってみて確認してみるといいかもしれませんね。

3/05/2025

Excel。2025/1/26-2/1にCtrl+Shift+Aなどショートカットキーを紹介したFacebookページのコメントです。【comment】

Excel。2025/1/26-2/1にCtrl+Shift+Aなどショートカットキーを紹介したFacebookページのコメントです。

<Facebookページ>

Facebookページに書いた、Excelの豆知識(Trivia)です。

Facebookページ

1月26日

Excel。

Ctrl+BackSpace

アクティブセルが表示されるまで画面スクロール



1月27日

Excel。

Ctrl+Tab

ブックを切り替える



1月28日

Excel。

Ctrl+Shift+A

数式でカーソルが関数名の右にあるときに、引数名とかっこを挿入する。



1月29日

Excel。

Ctrl+Shift+C

図形などオブジェクトの書式をコピーする



1月30日

Excel。

Ctrl+Shift+F

セルのフォント設定ダイアログ ボックスを開く



1月31日

Excel。

Ctrl+Shift+G

ブックの統計情報 ダイアログ ボックスを開く



2月1日

Excel。

Ctrl+Shift+L

オートフィルターのオンとオフ

3/04/2025

Excel。複数の独立変数の回帰指数曲線の係数を求めるならLOGEST関数です。【LOGEST】

Excel。複数の独立変数の回帰指数曲線の係数を求めるならLOGEST関数です。

<関数辞典:LOGEST関数>

LOGEST関数

読み方: ログイーエスティー  

読み方: ログエスティメーション

分類: 統計 

LOGEST関数

LOGEST(既知のy,[既知のx],[定数],[補正])

複数の独立変数の回帰指数曲線の係数を算出する

3/03/2025

Excel。検索値を入力して、行方向のデータを列方向で表引きしたい【matrix】

Excel。検索値を入力して、行方向のデータを列方向で表引きしたい

<VLOOKUP+ROW関数>

行方向のデータを表引きした結果を、列方向で表示したい場合、どのようにしたら、いいのでしょうか。


次の表を用意しました。

検索値を入力して、行方向のデータを列方向で表引き

B6に3と入力したら、B7:B10にNO3のデータを表示させたいわけです。


単に、コピー貼り付けで、行列入れ替えというのも、1回だけならば、OKですが、NOを入力するたびに、そのデータを表引きしたいので、コピーだけというわけにはいきません。


やりたいことは「表引き」です。


そこで、VLOOKUP関数をつかってみることにします。


問題になるのは、3つ目の引数の「列番号」です。


では、B7に次の数式を設定します。

=VLOOKUP($B$6,$A$2:$E$4,ROW(A2),FALSE)


オートフィルで数式をコピーします。


行方向のデータを列方向に表引きすることができました。


数式を確認しておきましょう。


1番目の引数は、検索値。

B6ですが、オートフィルで数式をコピーするので、絶対参照で固定する必要がありますので、$B$6


2番目の引数は、範囲。$A$2:$E$4

こちらも、オートフィルで数式をコピーしますので、絶対参照を設定します。


次がポイントになる

3番目の引数の、列番号。


下方向に、オートフィルで数式をコピーしたときに、2~4としていきたいわけです。


列番号を求めることができるROW関数をつかえば、列番号をつくることができますので、

ROW(A2)


最後は、検索方法。完全一致なので、FALSE と設定します。

3/02/2025

Word。動画で紹介。トラブル発生!均等割り付けをしたら、文字と文字の間が空きすぎ!【Equal】

Word。動画で紹介。トラブル発生!均等割り付けをしたら、文字と文字の間が空きすぎ!

<Youtube>

Wordの均等割り付け。

範囲選択を間違えちゃうと、とんでもないことが起こってしまうのです。


なんと、行全体に広がって、文字と文字との間が、広がりすぎてしまうのです。


なんで、どうしてこうなるの。


どうしたら、この問題を解決することができるのでしょうか。


その方法をご紹介していきます。

3/01/2025

Excel。LOG10関数は10を底とする数値の対数を算出できます。【LOG10】

Excel。LOG10関数は10を底とする数値の対数を算出できます。

<関数辞典:LOG10関数>

LOG10関数

読み方: ログテン  

読み方: ベース・テン・ログ

分類: 数学/三角 

LOG10関数

LOG10(数値)

10を底とする数値の対数を算出する