No.13
- 回答日時:
No.12です。
一点、言い忘れました。度々すみません。=sum(true,true,true)
=sum(true,true,true)<3
=sum({true,true,true})
=sum({true,true,true})<3
=sum(--{true,true,true})
=sum(--{true,true,true})<3
上の6式はそれぞれ、上から順に、「3」、「FALSE」、「0」、「TRUE」、「3」、「FALSE」を返します。つまり、上から1番目の数式の書き方はオッケーだが、3番目のように「{ }」のみを混ぜるのには(「3」にならないので)問題があって、5番目のように「--」が付くと問題が解消されるということです。
No.12
- 回答日時:
SUM関数は、「TRUE」あるいは「FALSE」という論理値を合計することができます。
そういう仕様です。例えば、=sum(true,1,false,0,-3,,,)
という数式は、「-1」を返します。つまり、「TRUE」を「1」として、「FALSE」を「0」として合計しています。
ただし、A1セルに「TRUE」が、B1に「100」が入力されているとき、次式は「101」ではなく、「100」を返します。
=sum(a1:b1)
このように、セル参照の参照先に、論理値あるいは文字列が入力されていても、それは合計されずに無視されます。
=true<3
=0+true<3
※「0+」の代わりに、先頭に「1*」や「--」を付けたり、true の直後に「-0」、「/1」、「^1」を付けても、同じ結果になります。
どこかのセルに、上の2式を入力してみてください。「0+」を付けないときは「FALSE」を返します。「0+」を付けると、「TRUE」を返します。これは、「true<3」とだけ書いたのでは論理式として成り立っていないため、「TRUEにはなり得ないのでFALSE」ということを意味しています。「0+」を付ければ「1<3」という論理式になるので、「TRUE」です。
=sum(true<3,1,false,0,-3,,,)
=sum(0+true<3,1,false,0,-3,,,)
という2式においても同様で、「true<3」は「FALSE」、「0+true<3」は「TRUE」として扱われるので、全体の数式も異なる値を返します。そうなる過程は、リボンの「数式>数式の検証」などで確認することができます。
No.11
- 回答日時:
こんにちは。
#6、7、8、cjです。#7お礼欄へのレスです。
> =AND(SUM(--ISERR(FIND({"A","B","C"},A1)))<3,ISERR(FIND("CD",A1))) ですが、--は何ででしょう?
> これがなくとも検査値が空白以外は同じ答えを返すようですがなぜかわかりませんでした。
=AND(SUM(1*ISERR(FIND({"A","B","C"},A1)))<3,ISERR(FIND("CD",A1)))
この方が解りやすいでしょうか。
論理値の配列(セル範囲ではなく値の配列)をそのままSUM関数に渡しても正しい結果は得られません。
そこで、TRUE は 1、FALSE は 0、一旦数値の配列に直してから渡す必要があります。
その手段として"1*"や"--"を付けることで数値化しているものです。
以前、"1*"と"--"を比較して、どちらが優れているかという議論に参加したことがあります。
その時、沢山の数式をベンチテストしたデータを根拠に、私としては"--"の方が優るという結論を出したので
私は"--"派(?)なのです。
でも、"1*"の方が概念として理解されやすいので、使う時もありますけど。
配列数式を回答として書ける方なら、たぶんどちらもご存じだと思われますので、
どちらを使うかは好みでいいと思いますけれど。
///
"A","B","C","CD"、どれも含まい文字列に対しては、
本来FALSEを返すべきところ、
"--"がないとTRUEを返してしまいます。
例えば"EEEE"という値の場合、FALSEが正解なのに、、、。
まあ、でも、考えてみれば、SUM関数をわざわざ使うまでも無かったってオチなんですけどね。
「迷ったらSUMで書ける数式優先。失敗が少ないから。」という心掛けは
外れること、少ないとは思うのですけれど。
ところで、
色々昔の経緯を思い出したのですが、、、回答の方も頑張ってくださいね。
回答で鍛えられるものって大きくて、ありがたいものです。
今回も、とても勉強になりました。
No.10
- 回答日時:
No.9です。
度々すみません。No.9の数式は、「>0」を削除しても構いません。そのほうが若干、式が短かったですね。=or(countif(a1,"*"&{"A","B","C"}&"*"))*(countif(a1,"*CD*")=0)=1
なお、「ISNUMBER(FIND)」の場合、「A」などの文字列について、大文字と小文字を区別する必要があります。「COUNTIF」の場合は、区別がありません(区別できません)。
また、「NOT(ISNUMBER(FIND))」という部分は、「ISERROR(FIND)」と書き換えても構いません。
=AND(or(ISNUMBER(FIND("A",A1)),ISNUMBER(FIND("B",A1)),ISNUMBER(FIND("C",A1))),iserror(FIND("CD",A1)))
No.9
- 回答日時:
=or(countif(a1,"*"&{"A","B","C"}&"*")>0)*(countif(a1,"*CD*")=0)=1
いろいろなご回答が出ているとおり、様々な流儀で書けます。あいまい検索にしておきましたが、完全一致に限定したい場合は「*」を削除してください。
No.5さんのご意見(何れか/全て)に一票。修正は次みたいな感じで。
=AND(or(ISNUMBER(FIND("A",A1)),ISNUMBER(FIND("B",A1)),ISNUMBER(FIND("C",A1))),NOT(ISNUMBER(FIND("CD",A1))))
No.7
- 回答日時:
すみません。
ちょっと余計な括弧消し忘れてました。ついでに、COUNTIF版も上げます。
(COUNTIFの方が若干、計算が重いと思いますけれど)
論理値
=AND(SUM(COUNTIF(A1,"*"&{"A","B","C"}&"*")),ISERR(FIND("CD",A1)))
=AND(SUM(--ISERR(FIND({"A","B","C"},A1)))<3,ISERR(FIND("CD",A1)))
[1 | 0]値
=(SUM(--ISERR(FIND({"A","B","C"},A1)))<3)*ISERR(FIND("CD",A1))
=(SUM(COUNTIF(A1,"*"&{"A","B","C"}&"*"))>0)*ISERR(FIND("CD",A1))
cj_moverさん、以前は大変お世話になりました。
いろいろなやり方がありますね。
ありがとうございます。
=AND(SUM(--ISERR(FIND({"A","B","C"},A1)))<3,ISERR(FIND("CD",A1))) ですが、--は何ででしょう?
これがなくとも検査値が空白以外は同じ答えを返すようですがなぜかわかりませんでした。
No.6
- 回答日時:
こんにちは。
お久しぶりです。#あぁ、、、でも、せっかく書いていたので、、、
> A、B、Cの何れかを含み
ってことは、OR()ですよね>
論理値
=AND((SUM(--ISERR(FIND({"A","B","C"},A1)))<3),ISERR(FIND("CD",A1)))
[1 | 0]値
=(SUM(--ISERR(FIND({"A","B","C"},A1)))<3)*ISERR(FIND("CD",A1))
とか、ですかね。
もう少し軽くなりそうな気もしますが、まあ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) エクセル 関数 指定の繰り返しの回数 以降(以前)を削除するには、 2 2022/04/24 10:29
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- Excel(エクセル) 特定の文字の合計値(空白を無視+可変に対応)を求める関数について 1 2022/08/18 10:51
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- フリーソフト Googleスプレッドシートで特定の言葉が含まれる行の色分けをしたいのですが 4 2022/04/30 15:29
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
中出しをするとお腹が痛い・・・。
-
麻疹風疹の抗体検査結果につい...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
至急!尿検査前日にオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
白血球が多いとどんな心配があ...
-
エクセルでエラーが出て困って...
-
精子が黄色?
-
健否~書類の書き方~
-
口の中に黒い血の塊
-
はしかの抗体検査は何科の病院...
-
これって喉仏ですか? 私は女性...
-
甲状腺が腫れているが血液検査...
-
舌の裏の痛みのないプツプツの...
-
イタリアから帰国する際、肉製...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
エクセルでエラーが出て困って...
-
中出しをするとお腹が痛い・・・。
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
勃起する時って痛いんですか? ...
-
納豆食べた後の尿の納豆臭は何故?
-
精子が黄色?
-
至急!尿検査前日にオナニーし...
-
小数点以下を繰り上げたものを...
-
これって喉仏ですか? 私は女性...
-
値が入っているときだけ計算結...
-
口の中に黒い血の塊
-
舌の裏の痛みのないプツプツの...
-
甲状腺が腫れているが血液検査...
-
Excelで""で囲む方法
-
健否~書類の書き方~
-
リンク先のファイルを開かなく...
おすすめ情報