• 締切済み

エクセルのif関数で

エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

みんなの回答

  • Us-Timoo
  • ベストアンサー率25% (914/3620)
回答No.3

B1に =IF(C1=$A$1,1,2) と式を設定し あとはオートフイルで式をコピーすればいいと思いますが。 ご確認下さい

miko4321
質問者

お礼

ごめんなさい。 C1~C10の中で同じ文字列を参照したかったの、ちょっと違った気がします。 ありがとうございました。

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.2

OR関数の認識が間違っているようですね。 間違い指摘は他の方にお任せして… ※SAMPLE =IF(ISERROR(MATCH(A1,C1:C10,0)),2,1) 同一の文字を探す方法としてMATCH関数を使用。 MATCH(A1,C1:C10,FALSE) [C1:C10]で A1 の内容と完全一致(FALSEで完全一致)同じ物を探す。 あれば、何番目にあるのかを返す。無ければ「#N/A」(つまりエラー)となる。 A1 と同じ物があれば「1」、無ければ「2」ということで、MATCH関数の結果と置き換えて言い直せば エラーなら「2」、そうでなければ「1」を返すということになるので、 エラー判別するISERROR関数を用いる。 IFの条件として組み込んで、先に書いた式のできあがり。

miko4321
質問者

お礼

なるほどーMATCH関数ですか! きっと、文字を探す関数があるのだろうと思ってましたが、探しきれませんでした。 教えていただいた式でできました。 本当にありがとうございました!!

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

=IF(COUNTIF(C1:C10,A1)>0,1,2) これでどうでしょう?

miko4321
質問者

お礼

私の知っている関数でもできるのですね。 でも、これは気づきませんでした。 この式でできました! 本当にありがとうございました!!

関連するQ&A

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • エクセル if関数

    エクセル初心者なのでうまく説明できないのですが、以下のような条件で数式を入力したいのですが教えていただけないでしょうか。 例えばなのですが、A1のセルに入力されている文字列に”高橋”を含んでいたならば、C1のセルにB1のセルに入力されている数字×”1500”の計算結果を表示したい。 また同様に、A1に入力されている文字列に”伊藤”を含んでいるならば、C1のセルにB1のセルに入力されている数字×”1000”の計算結果を表示したい。 つまりひとつのセル”高橋”が入力されている場合と”伊藤”が入力されている場合の二つの条件をつけたいのですが、このようなことは可能でしょうか。 宜しくお願いいたします。

  • 一つのセルでIF関数を二つ使いたい

    二つのセルの値を割って、%を表示させるために、三つ目のセルには 「=1-(B1/A1)」を入れていたのですが、そこに、二つのセルが空白の時にはエラー表示にならないようにIF関数を使い、三つ目のセルは 「=IF(ISBLANK(A1),"",(1-(B1/A1)))」 という数式にしました。 その数式にさらに、もし二つのセルの値が「0」の時には、結果を「0%」として表示させたくて、三つ目の数式の中にもうひとつのIF関数を同時に使いたいのですが、 一つのセル内に、IF関数を使って結果をうまく表示させるには、どのような数式にすれば良いでしょうか??

  • if関数について

    if関数についてどなたか教えてください。 ある二つの名簿があって、二つの名簿を照合して名寄せをしたいのですが、たとえば、A列の1行目から10行目まで、同じくB列の1行目から10行目まで氏名が入っているとします。A列とB列に同じ名前が入っていれば、C列に○印をつけるように関数を設定したいのです。自分なりに考えて、次のようにif関数を設定しました。・・・がうまく表示されません。エラーは出ませんので、関数としては成り立っていると思うのですが、○印が表示されません。どなたか間違いを指摘いただけませんでしょうか? C1のセルに次の関数を設定して、C10までコピーをしました。 if(A1=$B$1:$B$10,”○”,””) よろしくお願いいたします。

  • Excel 中央値のIf関数について

    中央値の計算で、 3行目のセルで“月曜”と書かれているセルかつ、12行目にあるセルで空白箇所があった場合 (たとえばC12,K12,J12) その列上にあり7行目のセル(C7,K7,J7)の中央値を計算するという数式はどのようにしたら可能でしょうか。 =MEDIAN(IF(条件,中央値の範囲,"")と書いてあったので =MEDIAN(IF(3:3="月曜"and12:12="",7:7,"") としましたが、VALUE!と表示されてしまいます。 3行目には曜日を 7行目には宿泊客数を 12行目には“三連休”などメモを書いており、 特定の曜日で、メモが未記入の日の宿泊客数だけを中央値で出したいのですが、 上述のようにVALUE!だったり、 数式をいじっても、空白も記入箇所もまとめて全体の中央値が計算されてしまったりとうまくいきません。 今後も入力していくのでA12:Z12など特定のの範囲にしたくないので12:12など行全体を範囲としています。

  • Excel97で、If文をなんとかしたい

    IF文でなんとかなりそうなんですが、IF文を使った事がなくて。 A列   B列   C列    任意の位置のセルD 数式  文字列   数式  文字列 数式  文字列 数式  文字列 こんな表で、Bの文字列の値と、Dのセルの値が一致した時、Aの数式の値(数字)をCの列に表示させ、BとDの文字が一致しない時は、”エラー”を表示させたいんですが、どういう風にすればいいのでしょうか? IF文を使えばいいのでしょうか? どういう風に、数式を立てればいいのかわかりません。 どなたか詳しい方、教えていただけませんか?

  • Excel2003でif関数を使うとSUM関数で反映されません

    A1セルに金額を入力すると、B1に1と表示させる為に=IF(A1,"1","")といった数式を入れております。 さらにC1にBセルの合計値を表示させる為に=SUM(B1)C2には=SUM(B1:B2)と入力しているのですが、B列のセルにIF関数を使った数字『1』が表示されてもC列セルに反映されないので困っています。 ここで質問ですが、A列セルに金額が入力されるとB列セルに数字『1』が表示され、更にC列セルにB列セルの合計値が表示される様な関数等はありますでしょうか?解り難い説明ですいません。 因みにA、B、C列共に1~31までのセルがあります。

  • エクセルのIF関数について

    エクセルのIF関数について質問をさせて頂きます。 現在、下記のような条件で抽出できる式を考えているのですが、 中々思うような式が思い浮かびません。 例えば、     A列  B列  C列  D列 1行目  111 2行目  222 3行目  333 4行目  444 5行目  555 6行目  666 7行目  777 8行目  888 9行目  999 上記のようなシートがあったとして、     A列  B列  C列  D列 1行目  111       999 2行目  222       333 3行目  333   ○   123   × 4行目  444 5行目  555 6行目  666 7行目  777 8行目  888 9行目  999   ○ 上記のように、例として C列の1行目に「999」と入力した場合、A列の9行目に「999」の数字があるので、その横のB列に「○」 C列の2行目に「333」と入力した場合、A列の3行目に「333」の数字があるので、その横のB列に「○」 C列の3行目に「123」と入力した場合、どこにも該当番号がないので、入力したC列の横、即ちD列の3行目に「×」を表示 要は、A列のどこかに該当数字があった場合にはその数字の横(B列)に「○」、どこにも該当数字が無い時には、入力した数字の横、D列に「×」を表示するような数式を考えています。 IF関数を使えばできるような気がするのですが、色々と試してみても中々うまくいきません。 下手な説明で分かり辛いかもしれませんが、どなたかご存知の方がいましたら、ご教授の程頂ければ幸いです。 どうぞ宜しくお願い致します。

  • IF関数

    細かい質問になってしまって申し訳ないのですが、 「Aのセル-Bのセル」という計算式をCのセルに入れたとします。 Cのセルの計算結果が A-B=整数(プラス)の場合と A-B=負の整数(マイナス)の場合 が考えられると思うのですが、マイナスの計算結果になった場合、 赤字&()で数字を囲われた (計算結果○○) と表示されてしまいます。 普通に計算結果を -計算結果○○ と出したいとき、数式はなんといれればよいでしょうか? 例 5-3=2 5-6=(1) と表示されてしまうので、「(1)」ではなく「-1」と表示させたい。 この時、Cのセルに入れる数式をどのようにすればよいか、 教えてください。 お願いします。

  • エクセル関数について(IF関数)

    エクセルの関数について教えて下さい。 セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが、どのような式を入れればよろしいのでしょうか? 別のシートから呼び出す(?)というような方法でもいいのですが、どんな式を入れればよいのか、全く分かりません。 自分で調べてみた結果、IF関数を用いるということは解りました。 『IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 上記のような式を入れてみて、実際に実践してみたところ、結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 どうしたらいいのか解りません。 素人故に恥ずかしい質問ですが、お知恵を貸して下さい。 よろしくお願いします。

専門家に質問してみよう