No.1ベストアンサー
- 回答日時:
エクセルファイルをアップロードした場合、顧客の環境にもエクセルが入っているのでしたら、そのファイルを顧客が見た場合ブラウザ内でエクセルが実行されますので、『機能する』はずです。
でも、ブラウザの種類だったり、OSの種類だったり色々と制約が発生します。で、普通のホームページみたいにしたいのであれば、JavaScriptとHTMLを使って、書き直さなければなりません。ただ、作り方はエクセルとはかなり異なります。セルの中に数式を書くというわけには行きません。
JavaScriptの話に入る前にHTMLのフォーム部品については理解しておいてください。その前提で話を進めます。結論から言うと、貴方の書いた式『((((A+350)/B)+0.999)*C)/1000』は完全に正しいJavaScriptです。
ただし、フォームのテキストフィールドから値を取ってこないといけません。テキストフィールドのidがそれぞれformA,formB,formCだとしたら、JavaScriptはこんな感じです。
A = document.getElementById("formA").value;
B = document.getElementById("formB").value;
C = document.getElementById("formC").value;
X = ((((A+350)/B)+0.999)*C)/1000;
こうすることによって、閲覧者がテキストフィールドに書き込んだ値を計算してXという変数に格納します。これをformXというテキストフィールドに書き込みたいのなら、その後に
document.getElementById("formX").value = X;
とすれば、計算結果が<input type="textfield" id="formX">となっているテキストフィールドに表示されます。
んで、表示されるタイミングですが、エクセルみたいに「書き込み終わったら、計算して表示する」と言うのがJavaScriptだと非常に難しいです。なので別途『計算する』ボタンを作って、ユーザがそれを押したタイミングで計算させるようにすれば良いと思います。
<input type="button" onclick="func();" value="見積もり開始">
適切な場所に上記のタグを入れればボタンが表示されます。このボタンはクリックしたらfuncという関数を呼びます。そこで先ほどのJavaScriptコードをfuncという名前(←実際の名前は何でも良いですが、ボタンのonclickで指定した名前と同じでなければいけません)の関数にしてしまいましょう。
function func(){
/* ここに上記のJavaScriptを書く */
}
これで、希望の動作が出来るはずです。
おまけ:
あとユーザが間違ってenterを押したときに変な動作をしないように<form>タグをちょこっといじっとくと良いと思います。
<form ~省略~ onsubmit="return false;">
この回答への補足
詳しい説明をありがとうございます。
function func(){
/*
document.getElementById("formA").value;
document.getElementById("formB").value;
document.getElementById("formC").value;
document.getElementById("formX").value = X;
X=((((A+350)/B)+0.999)*C)/1000;
*/
}
ここまでは<head>内に書き、
<input type="button" onclick="func();" value="見積もり開始">
は<body>内に書けばよろしいのでしょうか。
すみません、素人同然のものが無謀にも挑戦していますので。
以外にも { が無いとか */* が無いとか構文エラーです、とかいう警告がやたらと出るものですから。
ありがとうございました。
試行錯誤の結果、なんとか完成いたしました。
でも難しいものですね。
もっと勉強します、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 15:14
- 会計ソフト・業務用ソフト Excel IF構文内の計算式を有効にする方法 2 2023/03/22 11:27
- Excel(エクセル) Excelの計算式で質問です。 3 2022/06/21 21:58
- その他(資産運用・投資) 年利回りの計算方法について 5 2023/01/03 19:38
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(資産運用・投資) 積み立てNISAの利息や年利の計算方法 3 2022/05/07 15:03
- docomo(ドコモ) 「d払いご利用可能額」とご利用明細歴」が合わないのは何故ですか? 4 2023/01/28 03:59
- Excel(エクセル) 【Excelの集計について質問です。】 7 2022/12/03 16:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで上書き保存しないと反映...
-
エクセル0:00と表示される原因
-
エクセルのカメラ機能を、700個...
-
gage R&R の計算
-
ポール強度計算書ソフト
-
電卓は正しいのに エクセルで計...
-
ASC関数が上手く出来ない!
-
時刻の計算の仕方教えてくださ...
-
アンダーバーの後の文字を大文...
-
エクセルで作業時間数や残業時...
-
COUNTA関数について なんで反...
-
sumifで2つの条件
-
【至急】エクセルでの質問です ...
-
エクセルを32ビットから64ビッ...
-
エクセルで慣性モーメントを求める
-
パワーポイントをエクセルファ...
-
【スプレドシート】IMPORTRANGE...
-
エクセルで「500時間」を「何日...
-
エクセルに変な矢印が出てクリ...
-
エクセルでファイルを開かずに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで上書き保存しないと反映...
-
エクセル0:00と表示される原因
-
gage R&R の計算
-
エクセルのカメラ機能を、700個...
-
ASC関数が上手く出来ない!
-
ポール強度計算書ソフト
-
エクセルで作業時間数や残業時...
-
電卓は正しいのに エクセルで計...
-
アンダーバーの後の文字を大文...
-
時刻の計算の仕方教えてくださ...
-
エクセルとスプレッドシートの...
-
エクセルを32ビットから64ビッ...
-
エクセルで勤務時間の計算をし...
-
エクセルで積分
-
エクセル時間の大小
-
エクセル関数の使い方を教えて...
-
COUNTA関数について なんで反...
-
複利計算 利息を求める
-
エクセルの式を一時的に止めて...
-
エクセルのSUM関数について
おすすめ情報