10/08/2022

Excel。セル内の右端に「様」を揃えるように入力するにもワイルドカードをつかいます【Wildcard】

Excel。セル内の右端に「様」を揃えるように入力するにもワイルドカードをつかいます

<表示形式>

請求書など、氏名を入力するセルに、「~様」と氏名の後ろに表示するためには、表示形式をつかうことで、設定することができます。


ただし、「様」の位置をセルの右端で揃えるとしたら、文字数によって調整しなければなりません。


そこで、何かいい方法はないのでしょうか。


次の表を使って説明します。


A列に設定している表示形式は、ユーザー定義の「@" 様"」と設定してあります。


「@(アットマーク)」は文字列を意味しています。


文字列の後に半角スペースを空けて「様」と表示させていますので、文字列の文字数によって、「様」の位置は変わってしまいます。


そこで、次のように、ユーザー定義をつかって設定すれば、C列のように、セルの右端に「様」を揃えることができます。


「@* " 様"」


このように設定すれば、セル内の右端で「様」を揃えることができます。


この表示形式のポイントは、ワイルドカードの「*(アスタリスク)」がつくこと。

そして、「*(アスタリスク)」と「”(ダブルコーテーション)」の間に「半角スペース」を入力する必要があります。


「*”」とするとエラーになってしまうので、注意が必要ですね。

10/07/2022

Excel。セル内に含まれている該当する文字があるのかをチェックするには【character】

Excel。セル内に含まれている該当する文字があるのかをチェックするには

<IF+COUNTIF関数>

次の表を用意しました。


やりたいことは、B2に入力されている氏名と同じものがD列にあれば、E列の参加者に「○」を入力したいわけです。


そもそも、B2の一つのセルに、複数のデータをいれちゃったのかなぁ~と思いますが、このようなケースは、結構現場で見るパターンの一つですね。


セル内に該当するデータが含まれているのか確認するのは、なかなか面倒です。


考え方として、D列の文字列が、B2に含まれているかどうかを判断することができればいいわけです。


D列の文字列と、B2の文字列は完全一致するわけはありません。

そこで、「含まれている」のかを確認するには、「*(ワイルドカード)」で、D列の文字列の前後を囲ってあげればいいわけです。


あとは、あるのか、ないのか、という判断になりますから、COUNTIF関数をつかってあげれば、いけそうですね。


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

=IF(COUNTIF($B$2,"*"&D2&"*"),"○","")


あとは、オートフィルで数式をコピーすれば、完成です。


それでは、数式を確認しておきましょう。


IF関数内の、論理式で使用しているCOUNTIF関数ですが、ここで、氏名の文字列が含まれているかを判断させています。


COUNTIF関数の最初の引数である「範囲」には、

$B$2

と設定します。

オートフィルで数式をコピーするので、絶対参照の設定を忘れないようにします。


引数の2番目の「検索条件」には、

"*"&D2&"*"

と設定します。


「*(ワイルドカード)」は「”(ダブルコーテーション)」で囲ってあげる必要があります。


そして、D2のセル番地と「*(ワイルドカード)」を接続させるのに「&(アンパサンド)」が必要なので、注意してください。


こうすることで、セル内に該当する文字列があるのか、ないのかを判断することができます。

10/06/2022

Excelの様々な関数の読み方や引数などを紹介。今回は、SECOND関数~SHEETS関数です。【dictionary】

Excelの様々な関数の読み方や引数などを紹介。今回は、SECOND関数~SHEETS関数です。

<Excel関数辞典:VOL.71>

今回は、SECOND関数~SHEETS関数までをご紹介しております。

SECOND関数

読み方: セコンド  

分類: 日付時刻 

SECOND(シリアル値)

時刻から""秒""を算出する 



SEQUENCE関数

読み方: シークエンス  

分類: 数学/三角 

SEQUENCE(行,[列],[開始],[目盛り])

数列を返す 



SERIESSUM関数

読み方: シリーズサム  

分類: 数学/三角 

SERIESSUM(x,n,m,係数)

べき級数を算出する 



SHEET関数

読み方: シート  

分類: 情報 

SHEET([値])

シートが何枚目かを算出します 



SHEETS関数

読み方: シーツ  

分類: 情報 

SHEETS([参照])

シートの数を算出します 

10/05/2022

Excel。入出金表の残高を手早く算出したいので、どのような数式にしたらいいの【Balance】

Excel。入出金表の残高を手早く算出したいので、どのような数式にしたらいいの

<IF+SUM関数>

単純そうなんだけど、意外とアイディアが必要になる数式というのがあります。


例えば、預金通帳をはじめとした、入出金表です。


次の表で説明します。


D列の残高は、現金残高なので、当然のことながら、行ごとの減算では算出することはできません。


要するに、D3に、

=B3-C3

という数式はありえないわけですね。


ひとつ上のセルの値に、入金。

つまりB列の数値があれば、和算しなければいけませんし、C列の出金に数値がある場合には、減算しなければいけないわけです。


また、修正などのことを考慮すると、D列の数式は、すべて同じにしたほうが、都合がいいわけですね。


そこで、

=D2+(B3-C3)


という数式をD3に設定してみると、残念ながら「#VALUE!」というエラーが表示されてしまいます。


なぜ、D2を設定したのかというと、入金-出金した値を上のセルに足すためですね。


しかし、D2には、「残高」という見出し行の文字が入力されています。


文字と数値を計算することはできませんので、「#VALUE!」というエラーが表示されてしまったわけです。


考え方はいいのですが、単純な四則演算では、このようにエラーが表示されてしまいます。


そこで、SUM関数をつかうことで、解決することができます。

D3につぎの数式を設定して、オートフィルで数式をコピーしました。


=SUM(D2,(B3-C3))


このように、単なる四則演算であっても、SUM関数をつかうことで、エラー表示を回避することができます。


なおSUM関数は、範囲選択内の数値以外は対象外になるので、エラーが発生しないわけですね。


あと、プラスアルファとして、D6は入金・出金の入力が無いにも関わらず、残高が表示されているので、IF関数をつかって、入力がなければ、空白のままにするといいですね。


そこで、数式を次のように修正してみるといいですね。

=IF(A3="","",SUM(D2,(B3-C3)))



10/04/2022

Excel。WRAPROWS関数をつかえば、行方向の2列1組を縦方向に楽に変更できます。【WRAPROWS】

Excel。WRAPROWS関数をつかえば、行方向の2列1組を縦方向に楽に変更できます。

<WRAPROWS関数>

最近追加された関数の中から、WRAPROWS関数を紹介します。

このWRAPROWS関数も、なんで今まで無かったのかと思えるぐらい、便利な関数です。


次の表で説明します。


A1:F2に2列1組の表があります。


これを、A5:B8のような2列の表に組み替えるとしたら、コピーを組数分繰り返さないといけません。


かなり面倒な作業といえます。


そこで、新しく追加されたWRAPROWS関数をつかってみると、あっという間に完成します。


A6に次の数式を設定します。

=WRAPROWS(A2:F2,2)


たったこれだけです。


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


なお、2番目の引数のwrap_countを4に変更してみるだけで、4列2組の表に変更することができます。


使い方を考えると、色々使えそうな関数なので、試してみると面白いかもしれませんね。

10/03/2022

Excel。列方向の重複を除いて、行方向の表で抽出するには、どうしたらいい【Remove duplicates】

Excel。列方向の重複を除いて、行方向の表で抽出するには、どうしたらいい

<INDEX+ROW関数>

重複しているデータを除いた表を作る場合には、データタブの「重複の削除」をつかうと効率的に作成することができます。


ただし、この「重複の削除」は行方向。


つまりレコードが対象になっているので、列方向であるフィールド方向に重複したデータを除くのは、なかなか面倒な作業といえます。


次の表をつかって、やりたいことを説明していきます。

 

1行目のB1:G1のデータから重複したデータを除いたものを、A4を起点とした表をつくりたいというのが、やりたいことです。


列方向では、「重複の削除」をつかうことはできません。

そこで、先に、列方向のデータを行方向にする作業をしていきます。


列方向を行方向に変換するには、「INDEX関数」をつかうと、手早く処理することができます。


A4に次の数式を設定します。

=INDEX($B$1:$G$1,1,ROW(B1))


あとは、必要なデータだけオートフィルで数式をコピーします。


 

INDEX関数の説明は後述するとして、重複データの削除をおこなっていきます。


このまま、データタブの「重複の削除」をおこなってしまうと、一瞬成功したように思えるのですが、内容は数式なので、結果うまくいきません。


まずは、INDEX関数で行列を入れ替えたデータを数式から値として変更します。


A4:A9を範囲選択して、コピーしたら、そのまま貼り付けの「値」をクリックします。


あとは、データタブの「重複の削除」を実行したら、完成ですね。


それでは、INDEX関数を確認しておきましょう。


最初の引数「配列」には、$B$1:$G$1と設定します。

オートフィルで数式をコピーするので、絶対参照も忘れずに設定します。


2番目の引数の行番号は、行をずらすとかしないので、「1」と設定します。


3番目の引数の列番号は、「1」「2」「3」…と列参照をずらしていきたいわけですね。

そこで、ROW関数をつかうと、オートフィルで数式をコピーするのと連動して「1」「2」「3」…と数値を変えることができます。


そこで、ROW(B1)と設定しました。

なお、ROW(A1)でもOKです。


INDEX関数はアイディアによって色々活用することができますので、試してみるといいかもしれませんね。

10/02/2022

Excel。複数の文字列を連結するときにCONCAT関数をつかうと便利です。【CONCAT】

Excel。複数の文字列を連結するときにCONCAT関数をつかうと便利です。

<関数辞典:CONCAT関数>

CONCAT関数

読み方: コンキャット  

分類: 文字列操作 

CONCAT(テキスト1,…)


複数の文字列を統合する関数です。