節約とコスト把握のため使用枚数の値段を出すため
コピー用紙使用記録の資料作成をしているのですが
提出用の紙(形式固定)の部分は1セルのみ、なので
=PRODUCT()が使えません
理想としては、提出用の紙1枚だけに入力できる方式で
例えば、セルに使用枚数を入力しただけで、単価5円が自動的に計算されるようにしたいのですが
EX:セルA1に計算結果を出力するとして、=PRODUCT(A1)*1
しかし、変数と式の両立は難しいでしょうからどうすればよいのでしょう?
ちなみに、現在の方式は
別ページに (A1:1枚当たりのコスト)、(A2:枚数)、(A3:=PRODUCT(A1,A2))
で、提出用の用紙に(=A3)としているのですが
理想形のように、シンプルにすることはできませんか?
No.5
- 回答日時:
この質問の意味がよくわからない。
シートに例データでも作って、入力済みデータはどうで、どういう結果を出したいのか、文章でも説明出来るようになれ。
自分の考えていることお呼び情況を他人に説明する技を磨くほうが、大切なスキルだ。
PRODUCT関数に関する利用回答など、このコーナーでも見たことない。10年以上質問をみているが。
我流のやり方ではないのか?
難しいことを考えて、質問を連発する前に、単純なやり方がないか、質問すべきだが、
>セルに使用枚数を入力しただけで、単価5円が自動的に計算されるようにしたいのですが
総コストを枚数で割れば仕舞いなのではないか?
No.4
- 回答日時:
NO3です。
追加質問はマナー上、好ましくありません。一旦質問を締めて改めて質問するように
した方が良いと思います。
又、マクロコードの意味も理解されないまま、ノリで変更されておられますが非常に
危険である事を認識して下さい。(PCがフリーズする事があります)
仮にA1:B3範囲とした場合の一例です。
各コードについてはweb検索等で十分理解される事を望みます。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:B3")) Is Nothing _
Or Target.Count > 1 Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 0 Then
If Target.Column = 1 Then
単価 = 5
Else
単価 = 10
End If
Application.EnableEvents = False
Target.Value = Target.Value * 単価
Application.EnableEvents = True
End If
End Sub
No.3
- 回答日時:
>変数と式の両立は難しいでしょうからどうすればよいのでしょう?
⇒関数では出来無いのはエクセルの常識ですのでマクロ(VBA)組込みになります。
一例です。
対象シートタブ上で右クリック→コードの表示→以下のコード貼り付けてA1に枚数を入力して
お試しください。
サンプルコード
Private Sub Worksheet_Change(ByVal Target As Range)
単価 = 5
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 0 Then
Application.EnableEvents = False
Target.Value = Target.Value * 単価
Application.EnableEvents = True
End If
End Sub
この回答への補足
また、引き続き質問なのですが
EX:(セル)
セル番号 用紙種類1~3 用紙種類
A1 A3モノクロ1 B1 A3カラー1
A2 A3モノクロ2 B2 A3カラー2
A3 A3モノクロ3 B3 A3カラー3
※金額の違いは、モノクロとカラーの値段が違うだけ
1~3は金額的な違いはない
とあった場合、
ためしに先ほどのを応用して用いたのですが
変更点は、用紙サイズ、カラーの有無による金額
出力先セルの番号
Private Sub Worksheet_Change(ByVal Target As Range)
を
Private Sub A4_mono_1(ByVal Target As Range)
Private Sub A4_mono_2(ByVal Target As Range)
・
・
・
と変更したのですがうまく動作しなかったのですが、
どういった点が悪かったのでしょうか?
No.2
- 回答日時:
掛け算のセルに紙の枚数を記入してしまっては,折角用意した掛け算の式を書き潰してしまうだけですから,当然そんな使い方は出来ません。
#余談
自動マクロを使い,そういった仕込みを出来ないワケじゃありません。
ただしエクセルは今記入されたのが「10(枚)」なのか「50(円)」なのか知るよしもありませんので,50が入った瞬間に「50枚ですね,5倍してハイ250デス」その直後に「250枚ですね,ハイ1250デス」…と延々無限ループを始めるだけです。
指定の書式が印刷して出すだけのモノでしたら,たとえば用紙の金額記入セルが「D5」セル辺りにあったとすると,表の範囲外(印刷範囲外)のJ5セル辺りに「枚数記入セル」を用意しておき,D5には
=J5*5
と数式を記入しておきます。
あとは実際にエクセルにデータを打ち込むアナタが知っているシクミとして,J5セルに枚数を記入し印刷して提出してください。
#もひとつ余談
掛け算するのにPRODUCT関数を使うと,ときたま「間違った結果」が計算される場合があるので注意してください。
たとえばB1セルに
=PRODUCT(A1,5)
と記入してA1の5倍を計算したかったのに,A1がまだ空っぽのままだと5円と出てきます。
掛け算はワザワザ関数とか使用せず,普通に掛け算の数式で計算します。
もし,記入したエクセルを電子データで提出しているのなら,J5セルは例えば「文字色を白にして一見するとナニも汚してない」体裁にしても構いません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセル・セルに数式を入力してセル指定計算 2 2023/04/21 12:46
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) Excel VBAプルダウンの値を変えながら2枚ずつ印刷する方法? 4 2022/05/27 13:04
- Excel(エクセル) エクセル 別シートの各セルそれぞれの比率を計算したい 4 2023/08/05 15:20
- Excel(エクセル) 関数を用いて表示したセルの内容を、見えている形でコピーする方法 2 2022/09/14 16:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同一セルに日時があるものを日...
-
1年分のデータから特定の月分...
-
Excelで指定した条件と一致する...
-
COUNTIFの反対の関数はあるので...
-
EXCELでCSVファイル保存すると...
-
EXCELで年月日の表記から日付部...
-
1つのセルにまとまっている情報...
-
excel 数値の桁数によって切捨...
-
エクセル数式・等間隔ごとの範...
-
Excelで、表紙に、住所を自動で...
-
webクエリのurlの変更方法
-
複数のシートの日付データを、...
-
エクセルで数字、文字列混在の...
-
エクセル 掛け算 =PRODUCT
-
excelで平均差を出したい
-
エクセルでの指定文字 カウン...
-
エクセルVBAで、複数セルのデー...
-
色なしセルの合計値の出し方に...
-
【エクセル】一覧から指定デー...
-
【EXCEL】vlookup関数で横の行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同一セルに日時があるものを日...
-
1年分のデータから特定の月分...
-
EXCELでCSVファイル保存すると...
-
Excelで指定した条件と一致する...
-
COUNTIFの反対の関数はあるので...
-
ドロップダウンリストで空白の...
-
1つのセルにまとまっている情報...
-
エクセルVBAで、複数セルのデー...
-
エクセルで数字、文字列混在の...
-
エクセルでセルを一括で右詰に...
-
OFFSET関数を使用した印刷範囲...
-
EXCELで年月日の表記から日付部...
-
EXCELで足し算できるのにSUM...
-
【VBA】指定フォルダに格納中の...
-
Excelで連続データを行飛ばしで...
-
複数のシートの日付データを、...
-
excelで平均差を出したい
-
webクエリのurlの変更方法
-
Excel 空白セルの掛け算で答え...
-
エクセルで特定の行を除いて計...
おすすめ情報