• ベストアンサー

申し訳ありません。次の数式の意味を教えて下さい。

 お世話になっております。申し訳ありませんが、次の数式についてわかりやすくご説明をお願いいたします。   ROUNDDOWN(AL8/100,0)&""""&RIGHT(AL8,2)

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

多分、エクセルだと想定して回答します。 通常、ソフト(エクセルも含め)にはヘルプ機能が用意されていますので、大抵のことはそれで調べられますから、まずそれで調べてみる癖をつけましょう。 ROUNDDOWN(AL8/100,0)は桁数を指定して切り捨てをする関数で、この場合はAL8の1/100を整数部分で切り捨てします。 要は100の位以上の部分の数字だけ取り出すということ。 A & B & C は文字列を繋げる計算式で、A、B、Cがそれぞれ、「今日は」、「晴れて」、「います」だとすれば、A & B & Cの結果は「今日は晴れています」という文字列になります。 通常文字列を表す時に「"」で囲んで、"私は"というような記述方法をとりますが、これだと「"」という文字そのものを表したい時に困ります。「""""」はその例で「"」を表しています。 RIGHT(AL8,2)はAL8の右側の文字2文字分を取る関数です。ので結局AL8の「百以上の数字」、「"」、「右側の2文字」を繋げた文字を作りなさいという式になります。  実験してみれば、1234.56→12"56となることがわかるでしょう。(10の桁、1の桁を省いて小数点を"に変えている) 多分、AL8には100以上で少数以下2桁の数字が必ず入っていると仮定して作られている式だと想像されますが、111.5とか123.55698あるいは23みたいな数字が入っていると、思惑と違う結果になるのではないでしょうか?(どういう使われ方か不明なので、そうではないのかも知れません。また、他のところできちんと制御されている可能性もありますが・・・) なお、式はAL8に必ず数字が入っていると仮定して作られていますが、最後に右側2文字をとるというような(文字列を対象とした関数を用いている)少々曖昧なところのある式となっています。 エクセルは適当に数字を文字として扱ってくれますので大きな問題ではありませんが、試しに数字以外をいれればエラーになりますね。

J2T
質問者

お礼

 お礼が遅くなり申し訳ありませんでした。大変わかりやすいご回答をいただきまして、まことにありがとうございます。私も、もっと勉強した方がいいですね。ありがとうございました・

その他の回答 (3)

  • LN-TF
  • ベストアンサー率53% (320/596)
回答No.4

EXCELのご質問と解釈致します。 先ず、「&」は連結させているだけですので、これを取り除くと三つの部分から構成されている事が分かります。 真中は””””ですが、これは、「”」を表示させるだけの事。 残りですが、セルAL8に対して数値計算や文字列扱いして処理をしています。ただ、ここではAL8には数字が入っている事が前提です。 ROUNDDOWNですが切り捨てです。この場合は「AL8/100」ですから、AL8の数値を100で割って、その後「0」とありますから小数部分は切り捨てになります。 RIGHTですがこれは文字列の右からここでは2桁をもって来いと云う事です。 AL8が123456789となっていると全体では 1234567”89 となります。

J2T
質問者

お礼

 お礼が遅くなり申し訳ありません。ありがとうございました。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

>ROUNDDOWN(AL8/100,0)&""""&RIGHT(AL8,2) 左側の「ROUNDDOWN(AL8/100,0)」 と 中間の """" と 右側の「RIGHT(AL8,2)」 に分けて説明します。 あいだの「&」は文字列を結合する記号です。 左側の「ROUNDDOWN(AL8/100,0)」 セルAL8 (行番号8で列番号ALのセル)の数値を100で割って、小数点以下を切り捨てろというないようです。 セルAL8 の内容が「12345.54321」だったら、100で割って「123.4554321」、少数点以下を切り捨てて「123」になるということです。 右側の「RIGHT(AL8,2)」 セルAL8 の内容の右側2文字を取れということです。セルAL8 の内容が「12345.54321」だったら、「21」になります。 中間の """" 左右の「"」ではさまれた文字列ということです。"A"だったら「A」という字ですが、この場合「""」になりそうですが「"」ひとつになります。仕様でしょう。 結局 「123」と「"」と「21」を結合するので、「123"21」になるでしょう。

J2T
質問者

お礼

 お礼が遅くなりまして申し訳ありません。早速のご回答ありがとうございました。大変参考になりました。

  • argument
  • ベストアンサー率63% (21/33)
回答No.1

まずオフィスの場所だからと言って之だけではわかりずらいです。 まぁ関数的におそらくエクセルですよね? それは、さておき説明します。 ROUNDDOWN は処理内容の端数を切り捨てるという意味です。 RIGHT は右から何文字値を切り出しますと言う意味です。 内容: AL列8行目の値を100で割り端数は切り捨て それにダブルクォーテーションを結合 さらにAL列8行目右から二文字を連結します という処理です。 たとえばそのAL列に8行目に1234などと入れればこの関数の入ったあたいは「12"34」と返すはずです。 処理違いや補足・修正が欲しい場合言ってください。

J2T
質問者

お礼

お礼が遅くなり申し訳ありません。早速の回答、ありがとうございました。