ラベル exact関数 の投稿を表示しています。 すべての投稿を表示
ラベル exact関数 の投稿を表示しています。 すべての投稿を表示

12/18/2024

Excel。なんで大文字と小文字を等しいと判断しちゃうの、どうしたらいいの【Comparison】

Excel。なんで大文字と小文字を等しいと判断しちゃうの、どうしたらいいの

<IF+EXACT関数>

Excelには、ちょこちょこと、思っていたことと異なる判断をすることがあります。


次の表をつかって、そのケースをご紹介します。

IF+EXACT関数>

A列のデータとB列のデータを比べる数式をC列に設定しています。


C2には、


=IF(A2=B2,"○","×")


としています。


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


よく見ると、C5とC6の結果がおかしいことが、確認できます。


ひらがな と カタカナ

全角カタカナ と 半角カタカナ

これらは、同じと判断されていませんので、問題ありません。


ところが、

大文字と小文字は、異なっているハズなのに、同じと判定されてしまっています。


そして、

全角と半角のアルファベットは違うと判断されています。


このように、何気なく、IF関数だけで、入力されたデータが、合致するかどうか判断すると、間違った判断をされたものを見逃してしまう恐れがあります。


では、大文字と小文字は、異なると判断させるにはどうしたらいいのでしょうか。


そこで、文字を比較することができる、EXACT関数をIF関数と合わせてつかうことで、対応することができます。


IF+EXACT関数で数式を設定してみます。


D2に設定した数式は、

=IF(EXACT(A2,B2),"○","×")


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


今度は、

大文字と小文字も異なると判断されています。


このように、EXACT関数をつかうことで、文字種をきちんと区別して判断することができます。

1/24/2024

Excel。小文字しか入力できないように、入力規則を設定したい【lowercase letter】

Excel。小文字しか入力できないように、入力規則を設定したい

<入力規則+EXACT+LOWER関数>

ドメインを入力するのに、小文字しか入力できないようしたいのですが、どのようにしたらいいのでしょうか。

小文字しか入力できないように、入力規則を設定したい

入力時にチェックをしたいわけなので、データタブの「入力規則」をつかいます。


問題となるのは、どのような数式を設定すればいいのかという点です。


大文字か小文字かを比べる場合、IF関数を使うことはできません。

IF関数は大文字と小文字の区別がつかないからです。


また、=B2=LOWER(B2) という数式を設定すればいいように思えますが、これもダメです。

「=」演算子もIF関数と同様に、大文字と小文字の区別がつきません。


そこで、比較することができるEXACT関数をつかった数式をつくる必要があります。


それでは、入力規則を設定していきます。


入力規則を設定したい箇所を範囲選択します。


データタブの入力規則をクリックして、データの入力規則ダイアログボックスを表示します。


入力値の種類を「ユーザー設定」にして数式に次の数式を設定します。

=EXACT(B2,LOWER(B2))


あとは、エラーメッセージを設定し、日本語入力は、オフ(日本語モード)すれば、完成です。


試しに、B5に「gMail.com」と入力します。


エラーメッセージが表示されて、大文字があるデータは入力することができないようになりました。

8/29/2023

Excel。EXACT関数で英字の大文字と小文字を区別して文字列が一致するか比較できます。【EXACT】

Excel。EXACT関数で英字の大文字と小文字を区別して文字列が一致するか比較できます。

<関数辞典:EXACT関数>

EXACT関数

読み方: イグザクト  

分類: 文字列操作 

EXACT関数

EXACT(文字列1,文字列2)

英字の大文字と小文字を区別して文字列が一致するか比較する

7/30/2023

Excel。2つの文字列が合致するしないを手早く確認するにはEXACT関数をつかいます。【match】

Excel。2つの文字列が合致するしないを手早く確認するにはEXACT関数をつかいます。

<EXACT関数>

指定の文字通りに入力されたかどうかを確認する作業の時に、「=(イコール)」をつかった数式では、ある問題が発生します。


そのため、文字列を比較して合致しているか、合致していないか確認する時にはEXACT関数をつかってみましょう。

EXACT関数

比較するのは、A列とB列です。


C列には、EXACT関数をつかった数式。

C2には、

=EXACT(A2,B2)


D列には、単純に確認する数式

=A2=B2


をそれぞれ設定してあります。


ともに、C列D列ともオートフィルで数式をコピーしています。


さて結果を見てみましょう。

合致していると判断されれば「TRUE」。

合致していなければ「FALSE」と表示されます。


A3とB3のカタカナとひらがなは、当然合致しませんので、ともに、「FALSE」。

A4とB4の全角と半角も合致しないので、ともに「FALSE」。


問題は、A5よB5。


なんと、D列は、「TRUE」。

すなわち合致と判断されています。


逆にC列のEXACT関数は、「FALSE」という結果を表示しています。

つまり、「=(イコール)」をつかった比較では、大文字と小文字が同じと判断されてしまうのです。


大文字と小文字が異なる判断をさせたい時には、EXACT関数をつかうといいでしょう。

9/14/2021

Excel。ABCとabc。大文字小文字の違いはIF関数では対応できません。【Uppercase and lowercase】

Excel。ABCとabc。大文字小文字の違いはIF関数では対応できません。

<EXACT関数>

セル内の文字が合致しているかなどでも、IF関数を使えば、簡単に比較して合致しているかどうかを判断することは容易にできるのですが、意外なケースだとIF関数で対応することができません。


例えば、大文字と小文字。

大文字で入力されているかどうかを確認したい場合、小文字で入力されていたら、合致していないと判定してほしいわけですが、IF関数だと判定することができません。


確認してみましょう。


A列の文字とB列の文字が合致していたら、C列に「○」を表示するというIF関数を設定しています。


C2の数式は、

=IF(A2=B2,"○","×")


A2とB2は、ともに大文字の「ABC」なので、当然合致していますので、「○」が表示されるわけです。


ところが、

A3は、大文字の「ABC」でB3は小文字の「abc」ですから、合致していません。


文字コードから考えても、合致はしていないのですが、結果は「○」。

つまり合致しているとIF関数を使用すると判断されてしまうわけです。


大文字で入力しているかどうかを判定する場合は、IF関数が使えないわけです。


セル内に入力されている一文字ごとに、大文字か小文字か判断させるのも大変です。


実は、今回のような場合、IF関数ではなくて、別の関数を使えば、あっさり解決することができます。


その関数が、『EXACT関数』です。


EXACT関数は、文字列を比較するだけではなく、大文字と小文字の区別もしてくれる関数なのです。


EXACT関数をつかって算出してみます。


D2の数式は、

=EXACT(A2,B2)

と設定しています。


算出結果は、「TRUE」「FALSE」と表示されます。大文字・小文字の区別もしてくれていることが確認できます。


ただ、TRUEとFALSEでは、実務的な表としては、わかりにくいので、数式を修正します。


D2の数式を、

=IF(EXACT(A2,B2),"○","×")

とIF+EXACT関数のネストにすることで、「○」「×」で判定することができます。


Excelでは、大文字と小文字の区別が、結構曖昧なことが多く見受けられますので、大文字と小文字の違いを確認したい時には、それに対応できる方法を確認しておく必要があります。


比較するのに、よくつかう、「条件付き書式」も大文字と小文字の区別がありません。

 

ホームタブの条件付き書式にある「セルの強調表示ルール」の「指定の値に等しい」をつかって、確認すると、大文字と小文字の違いを判定していないことがわかります。


今回のケースのように、思ったように処理されないこともありますので、実務では、少しずつ対応方法を増やしていくといいのかもしれませんね。

6/28/2021

Excel。セルとセルの文字列が一致しているかどうかを判断するにはどうしたらいい?【Same character】

Excel。セルとセルの文字列が一致しているかどうかを判断するにはどうしたらいい?

<EXACT関数・DELTA関数>

Wordの校閲タブにある「比較」というのがあって、文書と文書を比較して、異なっているところ箇所を確認できるという機能があるのですが、Excelに、「比較」のような機能はありません。


入力した数値。

あるいは、セルに入力した文字が原版と比べて、修正があったかどうかを判断するには、どのようにしたらいいのでしょうか?


当然、セルの内容を比較したいわけですから、「IF関数をつかう」というのがオーソドックスな方法だと思いますが、Excelには、IF関数をつかわなくても、簡単に比較する関数が用意されています。


最初に数値の場合をみていきましょう。


A列とB列の数値が合致しているかしていないかを算出する数式がC列に設定されています。


C1に設定した数式は、

=DELTA(A1,B1)

A1とB1を比較して、合致していれば、「1」を算出します。TRUEということですね。

合致していなければ「0(ゼロ)」を算出します。FALSEということですね。


あとは、算出した値が0だったら、塗りつぶすとか、0の件数を算出するなどすることで、異なっている場所に対してアクションをとることも容易になるかと思われます。


ただ、このDELTA関数。

ちょっと残念なところがありまして、それは、「数値」にしか対応していない。

つまり、文字には対応してくれないわけです。


なので、文字でも、数値でも対応してくれるのが「EXACT関数」です。


比較1と比較2を比べた結果の表です。

F列のDELTA関数をつかうと、数字ではないので、#VALUE!というエラーが表示されてしまいました。


よって、このような文字では使うことができません。


E列はEXACT関数をつかって算出しています。

E2の数式は、

=EXACT(A2,C2)

DELTA関数同様に、わかりやすい関数ですね。


合致していれば、TRUEを算出してくれます。

4行目のように、合致していないと、FALSEを算出してくれます。


文字列は数値と異なり、異なっているかどうかを、目視で確認するのは、厳しいように感じます。

用意した文字列も、A4は「表現できます。」となっているところをC4では「表現できる。」と変えてみました。


EXACT関数自体の作成は、とても簡単ですが、ちょっと残念なのは、算出結果が、「TRUE」と「FALSE」で算出されてしまう点ですね。


そこで、数式を次のように変えてみます。


=EXACT(A2,C2)*1

というように、「*1」。

1を乗算させると、TRUEは「1」。

FALSEは「0」に置き換わりますので、わかりやすくなります。


ExcelでTRUE/FALSEのときは、「*1」と覚えておくと、ちょっと便利です。


最後に、EXACT関数は、シート間でも使うことができます。


書類に加筆修正があったかどうか、確認するときなどに、IF関数だけではなくて、EXACT関数というものあると知っておくと、使えるかもしれませんね。

3/07/2020

Excel関数辞典 VOL.26。EVEN関数~EXPON.DIST関数

Excel関数辞典 VOL.26。EVEN関数~EXPON.DIST関数

<Excel関数>

今回は、ERF関数~ERROR.TYPE関数までをご紹介しております。

EVEN関数
イーブン
数値を偶数に切り上げる
EVEN(数値)

EXACT関数
イグザクト
英字の大文字と小文字を区別して文字列が一致するか比較する
EXACT(文字列1,文字列2)

EXP関数
イクスポネンシャル
オイラー数eのべき乗を算出
EXP(数値)

EXPONDIST関数
エクスポンディスト
指数分布の確率密度関数と累積分布関数を計算する
EXPONDIST(x,λ,関数形式)

EXPON.DIST関数
エクスポン・ディスト
指数分布の確率密度関数と累積分布関数を計算する Excel2010以降
EXPON.DIST(x,λ,関数形式)