エクセルでゼロだと英語標記を認識しない

このQ&Aのポイント
  • エクセル上で、数値を英語標記に変換する資料を作成していて、0の場合には「THOUSAND」が出力されません。
  • 質問者は、「THOUSAND」を出力する方法を知りたいとしています。
  • 関連するセルの値やエクセル関数の使用状況に関する情報も提供されています。
回答を見る
  • ベストアンサー

エクセルでゼロだと英語標記を認識しない

エクセル上で、数値を英語標記に変換する資料を作成していて、前任の方がエクセル関数を作成してくれていたのですが、不具合が生じてます。「1-9」の数字が入力されていると、「THOUSAND」を出力するんですが、「0“ゼロ”」の場合は「THOUSAND」が出力されません。 何とか、「THOUSAND」を出力したいです。 質問の仕方が不十分かもしれませんが、どうかよろしくお願い致します。 S39に0が出力されてて単位が千円、S31にTHOUSANDを入力している、R39の単位が万円、Pには1-9、Qには「ONE-TEN」が入力されているシートです。 =IF(S39=0,"",IF(R39=1,S31&" ",CONCATENATE(VLOOKUP(S39,$P$13:$Q$22,2,FALSE)," ",S31," "))) 大変急いでおります。 よろしくお願い致します。

noname#224960
noname#224960

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

=IF(S39=0,"",IF(R39=1,S31&" ",CONCATENATE(VLOOKUP(S39,$P$13:$Q$22,2,FALSE)," ",S31," "))) ___↑ここでゼロの時は空白を返すようになってます。 =IF(S39="","",IF(R39=1,S31&" ",CONCATENATE(VLOOKUP(S39,$P$13:$Q$22,2,FALSE)," ",S31," "))) とS39が未入力の場合に空白を返すように変更すればいいのでは?

noname#224960
質問者

お礼

関数を理解できていませんでしたが、ご回答いただけたおかげで、無事解決いたしました。 ありがとうございました。

関連するQ&A

  • エクセルで日数を求める

    入金管理をエクセルで作成しています。 ・R2に入金確認日を入力 ・S2にR2で入力された日付より、翌月1日を求める   ・=IF(R2="","",IF(R2="","",DATE(YEAR(R2),MONTH(R2)+1,1))) ・U2に月数を入力(3 or 12) = 90日 or 365 日 ・U2からある日数を下回ったら、色を変化させる ・V2にS2から起算し、U2から得た値から残りに数を求める ・W2に契約総計を求める どうすればいいでしょうか。

  • エクセルのセルの判定について

    エクセルのセルの判定について B列・Q列・R列に情報が入っています。   B列  P列  Q列  R列 1  あ   違う   1   1    2  あ   違う   2   2 3  あ   違う   3   1 4  い   同じ   1   1 5  い   同じ   2   2  6  う   違う   1   1 7  う   違う   2   1 8  え   同じ   1   1 9  え   同じ   2   2 10  え   同じ   3   3 このB列・Q列・R列に入った情報を元にP列に「同じ」か 「違う」かの判定内容を入力したいと思っています。 (B1:B3)は「あ」ですが、「sum(Q1:Q3)」と「sum(R1:R3)」の 値は異なるので、(P1:P3)に「"違う"」と入力したい。 (B8:B10)は「え」ですが、「sum(Q8:Q10)」と「sum(R8:R10)」の 値は同じなので、(P8:P10)に「"同じ"」と入力したい。 この場合、P列にはどのような関数を入れたら良いのか 教えていただけないでしょうか。

  • ハイパーリンク設定をご教示下さい。(演算式のどこに不備があるかが分かりません。)

    現在、Sheet1,A1に下記演算式を記入し、正しく表示されている状態ですが、ハイパーリンクの演算式を追加するとエラーが出てしまいます。 他のセルでは、同様に既存の演算式をハイパーリンクの演算式で囲むと表示もリンクも成立するのですが、書き演算式の箇所のみ演算式が成立しません。 <既存の演算式> =IF(OR(Sheet2!L1="",Sheet2!M1="",Sheet2!N1=""),"-",IF(AND(Sheet2!O1="",Sheet2!P1="",Sheet2!Q1=""),CONCATENATE(Sheet2!L1,"!"),IF(AND(Sheet2!P1="",Sheet2!$Q1=""),CONCATENATE(Sheet2!M1,"!"),IF(Sheet2!Q1="",CONCATENATE(Sheet2!M1,"!"),IF(AND(Sheet3!AM1>Sheet3!S1,Sheet3!AM1>Sheet3!V1),"○",IF(AND(Sheet2!S1<>"OK",Sheet2!S1<>""),Sheet2!S1,IF(OR(Sheet2!V1="",Sheet2!V1="OK"),"○",Sheet2!V1))))))) <ハイパーリンク設定後演算式> =HYPERLINK("#不良発生情報記入用!"&ADDRESS(ROW(),COLUMN()),(IF(OR(Sheet2!L1="",Sheet2!M1="",Sheet2!N1=""),"-",IF(AND(Sheet2!O1="",Sheet2!P1="",Sheet2!Q1=""),CONCATENATE(Sheet2!L1,"!"),IF(AND(Sheet2!P1="",Sheet2!$Q1=""),CONCATENATE(Sheet2!M1,"!"),IF(Sheet2!Q1="",CONCATENATE(Sheet2!M1,"!"),IF(AND(Sheet3!AM1>Sheet3!S1,Sheet3!AM1>Sheet3!V1),"○",IF(AND(Sheet2!S1<>"OK",Sheet2!S1<>""),Sheet2!S1,IF(OR(Sheet2!V1="",Sheet2!V1="OK"),"○",Sheet2!V1))))))))) どなたか宜しくお願い致します。

  • EXCELでの契約書の更新管理について

    お世話になります。 EXCEL2002で契約書の更新管理をしています。 例えば、1997年11月12日契約開始、契約期間5年、更新期間3ヵ年自動更新の場合は、 O2:契約開始日 1997/11/12 P2:契約期間  5 Q2:更新期間  3 と入力し、 R2に初回更新日として計算式1(下記参照)を S2に次回更新日として計算式2(下記参照)を を入力しておりますが、上記の例のように入力すると、S2の次回更新日は 2005/11/11 のままで更新されません。 本日から見て次回の更新日がわかるようにするのは、計算式はどうすればいいのでしょうか? お手数ですがよろしくお願いいたします。 ※計算式1:=DATE(YEAR(O2)+P2,MONTH(O2),DAY(O2)-(DAY(1))) ※計算式2:=IF(TODAY()<R2,R2,DATE(YEAR(R2)+SUM(Q2,Q2*INT(DATEDIF(R2,TODAY(),"Y")/R2)),MONTH(R2),DAY(R2)))

  • エクセルで条件分岐させたいのですが

    エクセルは滅多に使わないのですが、用あってエクセルで、 特定のセルに「あ」と入力した時、特定のセルに「1」を出力 特定のセルに「い」と入力した時、特定のセルに「2」を出力 特定のセルに「う」と入力した時、特定のセルに「3」を出力 特定のセルに「え」と入力した時、特定のセルに「4」を出力  ・  ・  ・  ・ 、というようなエクセルを作りたいのですがどのようにしたらよいのでしょうか? 試しに、 =IF(Sheet1!A1="あ",1,IF(Sheet1!A1="い",2,(IF(Sheet1!A1="う",3,(IF(……省略……)))))) と、セルに式を入れていきオートフィルを使うと出来るかな。と思ったのですが、このIF式は制限があって7回以上は繰り返しえ使えないので、8以上の分岐をさせたい時使えません。 VBAでやれるのかな。と思ったのですが、私の頭で理解するには、期日まで時間が足りなすぎて作成できそうにありません。 よろしければ皆さんのお力添えをよろしくお願いします。

  • エクセルの係数で教えてください。

    エクセルのセルにデーターがあるのであれば、次の式をしているのですが、 =IF(AZ25="","",AZ25*P25) 計算結果を10円単位にし、1円(下一桁)を切り捨てしたいのです。 上の計算式に何を付け加えたら良いか教えてください。

  • Excel VBA ParamArray 可変個引数の渡し方

    Excel VBAで 可変個引数関数Fanc1から、その引数を 可変個引数関数Fanc2に渡したい。 下記例では、A1=a, B1=b, C1=cのとき、#VALUE!となります。  Concatenate2(A1:B1,C1,"po")="abcpo" 問題無し  Fanc1(A1:B1,C1,"po")=#VALUE! Fanc1でも上と同じ出力にしたいのです。 Function Concatenate2(ParamArray MyArray()) As String Dim S As String Dim v As Variant Dim c As Variant For Each v In MyArray If TypeName(v) = "Range" Then For Each c In v S = S & c.Value Next Else S = S & v End If Next Concatenate2 = S End Function Function Fanc1(ParamArray MyArray()) As String Fanc1 = Concatenate2(MyArray()) End Function

  • IF関数が苦手なので教えてください。

    IF関数が苦手なので教えてください。 もしQ6-R6+S6の合計値が60より小さかったら、Q6-R6+S6の合計値を入力、そうでなかったら60を入れる。 という式を作りたいのですが、うまく値が出てきません。 どう入力したらいいのか教えてください。 よろしくお願いします。

  • 大至急お願いします。

    4ケタの16進数nを10進数で出力するプログラムなんですが、まったくわかりません。 ちなみに式はn=p×4096+q×256+r×16+s p,q,r,sは0以上16未満です。 お願いします。急いでます。

  • EXCELの数値表示

    EXCELで円単位数値が入っています。 表示だけを千円単位にしたいんです。 別シートから1000で割って表示なら、保存ファイルの容量が増えてしまうので、セルの表示で変更したいのですが、ユーザー設定で出来ませんでしょうか? どのような標記で出来るか教えてください。

専門家に質問してみよう