3/30/2025

Excel。VBA。表内の空白セルに手早く決まった文字列を入力したい【Blank Cells】

Excel。VBA。表内の空白セルに手早く決まった文字列を入力したい

<Excel VBA>

ボール投げの成績一覧表があります。

表内の空白セルに手早く決まった文字列

B2:E6で、セルが空白の場合、「不参加」という文字を入力したいわけですが、どのようにしたら、効率よく手早く入力することができるのでしょうか。


空白を選択して、一括入力でもいいのですが、ちょっと面倒です。


そこで、今回は、Excel VBAでプログラム文をつくってみることにしました。


Sub 空白に文字()

    Range("A1").CurrentRegion.SpecialCells(Type:=xlCellTypeBlanks).Value = "不参加"

End Sub


たった一行ですが、実行してみます。


空白セルに「不参加」という文字を入力することができました。


たった1行ですが、プログラム文を確認しておきましょう。


Range("A1").CurrentRegion.

A1から連続する範囲。

つまり表を選択しています。



SpecialCells(Type:=xlCellTypeBlanks)

指定した範囲内の空白セルに次の処理をします。


Value = "不参加"

「不参加」という文字列を設定する


という処理をすることができます。

3/29/2025

Excel。動画で紹介。数値を除いた文字だけのデータを数えたい。しかも、文字列は合致していない。【COUNT】

Excel。動画で紹介。数値を除いた文字だけのデータを数えたい。しかも、文字列は合致していない。

<Youtube>

数値のデータを数えるには、COUNT関数です。


数値も文字も、さらに算出結果が空白のデータを数えるのはCOUNTA関数です。


それでは、文字だけのデータを数えるには、どのようにしたらいいのでしょうか。

しかも、文字列は合致していません。


このような場合の算出方法をご紹介してます。


"文字"という条件にアレをつかえば解決しますが、なかなか、思い浮きませんね。

3/28/2025

Excel。英字を小文字に変換するのがLOWER関数です。【LOWER】

Excel。英字を小文字に変換するのがLOWER関数です。

<関数辞典:LOWER関数>

LOWER関数

読み方: ロウアー  

分類: 文字列操作 

LOWER関数

LOWER(文字列)

英字を小文字に変換する

3/27/2025

Excel。指定したデータを1行分手早く表引き抽出するには、どうしたらいい【Table pull】

Excel。指定したデータを1行分手早く表引き抽出するには、どうしたらいい

<INDEX関数>

A4:D11に、店舗別の売上表があります。

指定したデータを1行分手早く表引き抽出する

A2にNOを入力したら、該当する、店舗名・地域・販売金額を表示したいわけです。


つまり、1行分のデータを表引きしたいわけです。


そこで、VLOOKUP関数をつかってという方法もあります。


ただし、VLOOKUP関数だと、3番目の引数の列番号にCOLUMN関数をつかうなど、アレンジしなければなりません。


XLOOKUP関数も同様です。


表引きできますが、面倒です。


オートフィルターをつかって抽出したデータをコピーして、貼り付ける方法もあります。

ただし、抽出するだけならばいいですが、抽出後に、別の場所に表示するとなれば、作業工程数が増えます。


そこで、今回はINDEX関数をつかって対応してみようと思います。


B2に数式を設定します。


=INDEX(B5:D11,A2,0)


最初の引数は、配列。範囲です。

B5:D11を範囲選択します。


スピル機能がうごきますので、絶対参照は不要です。


2つ目の引数は、行番号です。

A2のNOをつかいますので、A2と設定します。


3つ目の引数は、B列を起点としますので、0(ゼロ)と設定します。


では、数式を確定して結果を確認してみましょう。


このように、該当するデータの行全体を表引きすることができました。


スピル機能によって、オートフィルで数式をコピーする必要はありません。


この方法以外にはも、OFFSET関数を使う方法など、色々な方法があります。


今回は、その中から、INDEX関数をつかった方法をご紹介いたしました。

3/26/2025

Excel。LOOKUP関数は、縦横を指定しないで検索し値を返すこともできます。【LOOKUP】

Excel。LOOKUP関数は、縦横を指定しないで検索し値を返すこともできます。

<関数辞典:LOOKUP関数>

LOOKUP関数

読み方: ルックアップ  

分類: 検索/行列 

LOOKUP関数

LOOKUP(検索値,配列)

縦横を指定しないでセルを検索し対応するセルの値を返す


3/25/2025

Excel。動画で紹介。順位を①②とかの丸付き数値で、求めたい【number】

Excel。動画で紹介。順位を①②とかの丸付き数値で、求めたい

<Youtube>

順位を算出するには、RANK.EQ関数をつかうわけです。


さて、今回は、この算出した順位を、①・②とかの「丸付き数値」で算出したいわけです。


では、どのようにしたら、手早く求めることができるのでしょうか。


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

3/24/2025

Excel。列を並べ替えた別表を、手早く作るにはどうしたらいい【SORT】

Excel。列を並べ替えた別表を、手早く作るにはどうしたらいい

<SORTBY+XMATCH関数>

得点表があります。


A1:G7の表は、

「英語・国語・数学・理科・社会」という順番になっています。


これを、「数学・理科・英語・国語・社会」という順番で並べ替えをしたい。


自力で、コピペを繰り返して列を並べ替えるのは、とても面倒です。


何か、効率の良い方法で、手早くつくることはできないものでしょうか。


そこで、SORTBY関数とXMATCH関数を組み合わせることで、列を並べ替えた別表をつくることができます。


I2をクリックします。

SORTBY+XMATCH関数

次の数式を設定します。

=SORTBY(A2:G7,XMATCH(A1:G1,I1:O1))


数式を確定して、並び順を確認してみると、きちんと列方法で並べ替えされていることが確認できます。


この数式をつかうには、事前に、並べ替えをしたい順の見出しを用意する必要があります。


さて、この数式を確認しておきましょう。


SORTBY関数は、並べ替えを行う関数です。

最初の引数は、「配列」。

範囲なので、A2:G7


SORTBY関数は、スピル機能対応の関数なので、絶対参照は不要です。


次の引数は、基準1。

並べ替えをおこなうルールのことです。

ここにXMATCH関数をつかいます。


そのXMATCH関数は、MATCH関数の上位版の関数です。

MATCH関数と同じで、指定したデータが何番目にあるかを求めることができます。


XMATCH関数の最初の引数は、検索値です。

検索値は、A1:G1。


次の引数は、検索範囲で、I1:O1


XMATCH関数の結果は、

{1,2,5,6,3,4,7}


この順番で列を並べ替えることができたというわけです。