• ベストアンサー

参照先が関数の場合は計算できない?

お世話になります。 sheet2のA1に =CONCATENATE(sheet1!P4) B1に =IF(A1=0,C1*0.05,0) C1は =SUM(C2:C3) が入力してある表で、 A1セルの表示が「0」となってもB1は空白のままです。 どこが間違っているでしょうか。 よろしくお願い致します。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

CONCATENATE関数は複数の文字列を結合して1つの文字列にするための関数であり、普通では示したような使え方はしませんね。もしこのままで使ったとして得られる結果はあくまでも文字列です。したがってA1セルの表示が0となっていても文字列の0です。A1セルでは通常文字列の場合にはセルの左側に表示されています。 したがって、B1セルの式を次のように変えることでお望みの結果が得られることでしょう。 =IF(A1="0",C1*0.05,0) ゼロを文字列のゼロの場合にはとしています。

chutohanpa
質問者

お礼

早々にありがとうございます。 前任者が作成したファイルでして、 CONCATENATEという関数は初めてだったのですが、 自分でもちゃんと調べるべきでした。 "ゼロを文字列のゼロ" なるほどー、勉強になりました。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

>A1セルの表示が「0」となってもB1は空白のままです。 ⇒A1が=CONCATENATE(sheet1!P4)で文字列になる為、A1にどんな値が入っても常にFALSEとなり「0」が表示されます。  A1を=sheet1!P4では駄目でしょうか。

chutohanpa
質問者

お礼

早々にありがとうございます。 前任者が作成したファイルでして、 CONCATENATEという関数は初めてだったのですが、 自分でもちゃんと調べるべきでした。 "A1を=sheet1!P4"でOKでした。

関連するQ&A

専門家に質問してみよう