『(在庫管理表)エクセルの組み方について教えてください』(あきかな)
お世話になります。皆さまご多用かと存じますが、掲題につきご教示頂ければ幸いです。
1枚のシートでアイテムごとの在庫管理したいです。
例 A B C D E
日付 アクション アイテムA アイテムB アイテムC
1 7/22 追加 2
2 7/25 払出し 1
3 7/27 追加 5
アイテムAを例に
払出しの数値をマイナス表示にさせれば、
=SUM(INDIRECT("B:B"))を使い、最終在庫数を管理できるかと思いますが、
”払出し”の文字入力すると自動的にマイナス表示になるような、関数はありますでしょうか。
在庫管理表の書式にこだわりはありません。
管理のしやすい見た目で、ITリテラシー低い方でも、メンテナスしやすいよう
な管理表を作成したいです。
どうかお力添え頂きたく、何分のレスをお願いいたします。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
もし、入力に制限をかけたいのであれば、2-11行までを対象とするとして、
B2:B11のデータの入力規則をリストにして「追加」と「払出し」のみを入力できるようにします。
C2:E11のデータの入力規則をユーザ定義にして"=OR(AND(B2="追加",C2>0),AND(B2="払出し",C2<0))"と入力します。
ただし、「追加」で正の数を入力した後に「払出し」に変更しても、そのまま通ってしまいますね。
また、文字列などを入力されても、追加の場合には通ってしまいます。
であれば、条件付き書式で条件に合わない場合は背景色を変えるという手もあるかと思いますが。
(ゆたか) 2024/07/29(月) 11:45:52
=OR(AND($B2="追加",C2>0),AND($B2="払出し",C2<0))
こちらでお願いします。
(ゆたか) 2024/07/29(月) 11:50:16
ちょっと確認
1)例示のC列は「4」てこと? 2)B列は「追加」と「払出し」しかないのか? 3)↓ はなぜ「B:B」なのか? 何のために INDIRECT を使っているのか? =SUM(INDIRECT("B:B"))
とりあえず・・・
=SUM(SUMIF($B:$B,{"追加","払出し"},C:C)*{1,-1}) または =SUM(C:C)-SUMIF($B:$B,"払出し",C:C)*2
参考まで (笑) 2024/07/29(月) 13:05:14
アドバイスありがとうございます。
後ほど教えて下さった関数を確認いたします。
その前の先ず質問に回答いたします。
改めて、
例 A B C D E
日付 アクション アイテムA アイテムB アイテムC
1 7/22 追加 2
2 7/25 払出し 1
3 7/27 追加 5
1)例示のC列は「4」てこと?
→最終的な在庫は「4」になります
2)B列は「追加」と「払出し」しかないのか? →目的が社内の備品管理ですので、追加と払出しで足りるためです。
3)↓ はなぜ「B:B」なのか? 何のために INDIRECT を使っているのか? =SUM(INDIRECT("B:B")) →失礼いたしました。上記表ですと「"C:C"」となります。
ネットで1枚のページに複数アイテムの在庫管理表を作成した。
確認したい項目は、以下の通りです。
・アイテムごとに入出庫した数
・アイテムごとの最終在庫数
(あきかな) 2024/07/29(月) 14:31:37
B2:B11のデータの入力規則をリストにして「追加」と「払出し」のみを入力できるようにします。
→はい、設定いたしました。
C2:E11のデータの入力規則をユーザ定義にして"=OR(AND(B2="追加",C2>0),AND(B2="払出し",C2<0))"と入力します。
→
ユーザー設定に、「=OR(AND($B2="追加",C2>0),AND($B2="払出し",C2<0))」を入力しました(エラー表示なし)。ただC2に数字を入力しても「この値は、このセルに定義されている入力規則の制限を満たしていません」と表示がされ、文字入力ができない状態です。
また、下記件のご返答が漏れてましたので、ご回答差し上げます。
3)↓ はなぜ「B:B」なのか? 何のために INDIRECT を使っているのか? =SUM(INDIRECT("B:B")) →indirectの使用については、こちらのブログを参考にさせて頂きました。 https://www.newcom07.jp/EXCEL-database/blog/excel_coffee_break/2014/02/address.html
どうぞよろしくお願いいたします。
(あきかな) 2024/07/30(火) 09:23:58
特定の行において、B列が「追加」の場合はC-E列は正の値、「払出し」の場合は負の値のみを許可しています。
上記の組み合わせに合わない場合はエラーが表示されます。
正しい正負の数値を入力していますか?
(ゆたか) 2024/07/30(火) 09:44:31
入力規則では「追加」であれば正の値のみを許可、「払出し」であれば負の値のみを許可
としていましたが、それでは後に追加、払出しを変えても、エラーは表示されません。
条件付き書式を使えば、入力制限はできないものの、
整合性が合っていなければ、背景色を変えるなどして警告することができます。
C2:E11のデータの条件付き書式>数式を使用して、書式設定するセルを決定>次の数式を満たす場合に値を書式設定で以下のように入力する。
=OR(AND($B2="追加",C2<=0),AND($B2="払出し",C2>=0))
書式は例えば、塗りつぶしタブで赤とかにします。
そうすると、追加で正でない値、払出しで負でない値が入力された場合には背景が赤に塗りつぶされます。
(ゆたか) 2024/07/30(火) 09:55:39
>在庫管理表の書式にこだわりはありません。 >管理のしやすい見た目で、ITリテラシー低い方でも、メンテナスしやすいよう >な管理表を作成したいです。
「Excel 在庫管理」
で、検索したらたくさんヒットしますが、
どのサイトも、「入」と「出」では、
列あるいは行を分けて入力するテンプレートとなっています。
一つの列で出るをマイナスで入力するのもありかと思いますが、
分けて入力するようにしてみてはいかがでしょうか?
(まっつわん) 2024/07/30(火) 09:57:51
当方の回答を無視してるのはワザとなんですかね?
一応・・・
>払出しの数値をマイナス表示にさせれば、 >=SUM(INDIRECT("B:B"))を使い、最終在庫数を管理できるかと思いますが
払出しの場合は数値をマイナスで入力すればできるのは分かっている。 マイナスで入力しなくてもできる方法はないか、という質問でしょ?
↓ を試した結果はどうなったんですか?(そもそも試したのか?) >=SUM(SUMIF($B:$B,{"追加","払出し"},C:C)*{1,-1}) >=SUM(C:C)-SUMIF($B:$B,"払出し",C:C)*2
それと >indirectの使用については、こちらのブログを参考にさせて頂きました。 その記事を読んで、なんで INDIRECT を使わないとダメだと思ったんですか? =SUM(C:C) でいいのでは?
ついでに・・・ ↓ はどういう意味?(何を求めたいのか?) >・アイテムごとに入出庫した数
以上 (笑) 2024/07/30(火) 10:04:59
=OR(AND($B2="追加",C2<=0),AND($B2="払出し",C2>=0))
未入力のセルが赤くなるのはまずいか。
=OR(AND($B2="追加",C2<0),AND($B2="払出し",C2>0))
としておけば未入力の場合も大丈夫です。
ただし、0を入力されてもエラー表示にはなりませんが。
(ゆたか) 2024/07/30(火) 10:21:47
>・アイテムごとに入出庫した数 >・アイテムごとの最終在庫数
例示の場合 ↓ なのを求めたいのなら
I J K L ← 列名 1 A B C ← アイテム名 2 入庫 5 0 2 3 出庫 1 0 0 4 最終 4 0 2
J2 =SUMIF($B:$B,"追加",C:C) J3 =SUMIF($B:$B,"払出し",C:C) J4 =J2-J3 右コピー
参考まで (笑) 2024/07/30(火) 10:39:11
A B C D E 1 日付 アクション アイテムA アイテムB アイテムC 2 7月22日 追加 0 2 3 7月25日 払出し -1 0 4 7月27日 追加 6 5 7月29日 払出し -2 -2 6 8月1日 追加 3 10 5 7 8月3日 払出し -5 -5 -3 8 8月5日 追加 5 10 10 9 8月8日 払出し -5 -7 -5 10 8月10日 追加 10 11 8月15日 払出し -7 -5 12 8月17日 追加 3 13 8月19日 払出し -2 14 8月22日 追加 5 15 8月24日 払出し -7 -5 16 17 追加合計 32 20 17 18 払出し合計 29 17 15 19 アイテム別 最終在庫数 3 3 2
C17 =SUMIF($B:$B,"追加",C:C) C18 =SUMIF($B:$B,"払出し",C:C) C19 =SUM(C17-C18) 右にフィルコピー。
わかりやすいように、アイテムごとに同じ列に合計を出しましたが 縦に長くなるのなら(笑)さんのように右のほかの列に出してもいいかと思います。 あと、試してみればわかりますが (笑)さんの=SUM(SUMIF($B:$B,{"追加","払出し"},C:C)*{1,-1})を 右にフィルコピーでアイテム別最終在庫数が出ますね。 ーーーーーーーーーーーーーーーーーー >”払出し”の文字入力すると自動的にマイナス表示になるような、関数はあ >りますでしょうか。 関数ではなく条件付き書式で、見かけだけマイナス表示する案です。 新しいシートで試してください。
>社内の備品管理ですので、追加と払出しで足りる とのことなので B列の範囲にデータの入力規則ーリストで元の値のところに直接 追加,払出しと入力します。(,で区切ります。)
C2を起点にC列以降の範囲(例では$C$2:$E$15)に条件付き書式を設定します。
数式を使用して、書式設定するセルを決定で=AND($B2="払出し",C2>0) 書式ー表示形式ーユーザー定義で"−"G/標準としてみてください。
(払出しの行のフォントまたは塗りつぶしの色を設定する場合は) 範囲設定して 数式を使用して、書式設定するセルを決定で=$B2="払出し" ご参考まで (檸檬) 2024/07/31(水) 01:21:19
おはようございます。申し訳ございません。
かっこ笑と前述の方の続投と思っており、個人の認識がありませんでした。
ご検討ありがとうございます。
マイナスで入力しなくてもできる方法はないか、という質問でしょ? ↓ を試した結果はどうなったんですか?(そもそも試したのか?) >=SUM(SUMIF($B:$B,{"追加","払出し"},C:C)*{1,-1}) >=SUM(C:C)-SUMIF($B:$B,"払出し",C:C)*2 →はい、仰る通りです。上記いずれも問題なく使えました(欲しい答えを頂けました!)
>indirectの使用については、こちらのブログを参考にさせて頂きました。 その記事を読んで、なんで INDIRECT を使わないとダメだと思ったんですか? =SUM(C:C) でいいのでは? →とりあえず記載内容を実践したまでで他意はございません。
↓ はどういう意味?(何を求めたいのか?) >・アイテムごとに入出庫した数 →各アイテムが特定の期間内にどれだけ入庫(追加)されたか、または出庫(払出し)されたかの数量を指してます。
今回は教えて頂いた関数で問題がクリアになりました。本当にありがとうございます。
(あきかな) 2024/07/31(水) 09:04:08
「=OR(AND($B2="追加",C2>0),AND($B2="払出し",C2<0))」について、
特定の行において、B列が「追加」の場合はC-E列は正の値、「払出し」の場合は負の値のみを許可しています。
上記の組み合わせに合わない場合はエラーが表示されます。
正しい正負の数値を入力していますか?
→”FALSE”が表示されます(涙)
私の勉強不足かもしれません。勉強いたします。
C2:E11のデータの条件付き書式>数式を使用して、書式設定するセルを決定>次の数式を満たす場合に値を書式設定で以下のように入力する。
=OR(AND($B2="追加",C2<=0),AND($B2="払出し",C2>=0))
書式は例えば、塗りつぶしタブで赤とかにします
→こちらは問題なく動作しました。
これまでご親切にコメントくださってありがとうございます。
大変励みになりました。また何かあればよろしくお願いいたします。
(あきかな) 2024/07/31(水) 09:19:30
丁寧なご指導ありがとうございます。
17行以降の追加、払い出しの合計も一覧でみれるのはいいアイデアと思いました。
数式を使用して、書式設定するセルを決定で=AND($B2="払出し",C2>0) 書式ー表示形式ーユーザー定義で"−"G/標準としてみてください。 →今回はマイナス表示は見送らせて頂きましたが、今後共通単位を使うときに参考にさせて頂きます。
大変助かりました。また何かあればよろしくお願いいたします。
(あきかな) 2024/07/31(水) 14:31:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.