• ベストアンサー

excelで次のようなことをチェックできますか?

excelで次のようなことをチェックできますか? もし、合致していれば(真であれば)決められた得点を表示する というようなことです。 1.A3セルに入力した文字列が中央ぞろえされている。 2.A4に入力したデータは、’0120といように数字が文字列化されている。 3.B4セルには「セルポインタ」という文字列が入力されている。 3.A5セルに入力されている数式が=sum(b5:b11)である。値ではチェックしない。 4.A6セルに表示されている値が1234である(数式で表示)。 5.A7セルにrankで表示した値が 北海道 である。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

ん? 他は軒並み役立たずでしたか。誤記もありましたし,大変失礼しました。 既に他の方からご指摘頂いていますが 訂正版: =IF(CELL("prefix",A3)="^",得点,0) については,既に説明済みの通りセルの中身が「文字列」の場合のみに機能します。 数値が記入されているのではダメなので注意して下さい。文字と数字は判りますね? どーしてもA3セルに数字を記入しなきゃならない場合は,A3セルに事前にセルの書式設定の表示形式で「文字列」の設定を付けておいた上で数字を記入することで,回答の関数で調査する事ができます。 それも出来ないようなら,関数では出来ません。前回回答の4同様にマクロを併用します。

sato8845
質問者

補足

回答ありがとうございます。大変参考になっております。 さて、 >既に説明済みの通りセルの中身が「文字列」の場合のみに機能します。 これは了解しております。困っているのは、A3に文字列があって 式を別のセルに入力またはコピーすると、正常に機能します。 しかし、文字列の書式を変更しても関数の表示が変化しません(得点が0にならない)。 一定です。別のセルに同じ関数を入力またはコピーすると、既定どおりに変化します。

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

>文字列の書式を変更しても関数の表示が変化しません セルの書式を変更した直後(書式を変更しただけ)では,関数の値は変わりません。 エクセルの仕様上の制約なので,その時点で回避する方法はありません。マクロ等を使っても,原則不可能です。 F9を押す,他のセルを何か編集するなどで,関数が再計算されると新しい得点が現れます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 ANo.1様の御回答に補足させて頂きます。 >1については、A3セルに「文字列」が記入されているのであれば >=IF(CELLS("prefix",A3)="^",得点,0) の中にある「CELLS」という箇所は、おそらく回答欄に入力される際の打ち間違いで、正しくは =IF(CELL("prefix",A3)="^",得点,"") になります。 >2.A4に入力したデータは、’0120といように数字が文字列化されている。 に関しては、 =IF(AND(ISNUMBER(A4+0),ISTEXT(A4)),得点,"") になります。 >3.B4セルには「セルポインタ」という文字列が入力されている。 という御質問の意味が文面の通りのものであれば、ANo.1様の御回答の通りですが、もし、 「B4セルに入力されている文章の何処かに、『セルポインタ』という文字列が含まれている」 という意味である場合には、 =IF(ISNUMBER(FIND("セルポインタ",B4)),得点,"") になります。

sato8845
質問者

補足

回答ありがとうございます。 ただ、以下の関数を試してみましたが 中央ぞろえで10点が表示されません。 ^が中央ぞろえということでしょうか? =IF(CELL("prefix",A3)="^",10,"")

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

1については、A3セルに「文字列」が記入されているのであれば =IF(CELLS("prefix",A3)="^",得点,0) 2については、「文字列が記入されていればよい」のであれば =IF(ISTEXT(A4),得点,0) 3については =IF(B4="セルポインタ",得点,0) 4については関数ではできないので、マクロ等を併用しなければできません。 今日夕方のご相談でしたが http://okwave.jp/qa/q7740013.html を参考にしてください 5については =IF(A6=1234,得点,0) 6については「rankで表示した」では意味不明ですが、北海道と計算値が出ているかどうかなら =IF(A7="北海道",得点,0)

sato8845
質問者

お礼

以下の関数が目的にぴったりでした。 =IF(B4="セルポインタ",得点,0) ありがとうございます。

関連するQ&A

専門家に質問してみよう