Numbers関数
何か良い方法ありますか?
MacBook Pro 16″, macOS 12.5
何か良い方法ありますか?
MacBook Pro 16″, macOS 12.5
shonz さんによる書き込み:
数式の意味が分からないので教えて頂きたいです!
詳細な説明は難しいので概要だけでごめんなさい。
最初のIF関数では B4 が空欄かどうかを確認しています。空欄であれば "倉庫" や "持出" を表示する必要がないためです。
次に、B4が空欄でなかった場合には2つ目のIF関数が評価されますが、2つ目のIF関数では E4〜AI4 までのセルがすべて空欄かどうかを確認しています。空欄であれば "倉庫" を表示するのが適当と考えられるためです。
続いて、E4〜AI4 までのセルのいずれかに入力がある場合に3つ目のIF関数が評価されますが、3つ目のIF関数では E4〜AI4 を参照範囲の右側(AI4側)から左に向かって "返却" の入力を探し最初に見つかった "返却" の位置が参照範囲内で入力値がある最も右側のセルかを確認しています。条件を満たす場合 "倉庫" を表示します。
最後に、以上3つのIF関数の全ての条件を満たさなかった場合( =E4〜AI4 の参照範囲内で入力値のある最も右端のセルの値が "返却" ではない=持出の場合)なので "持出" を表示します。
追記:
8/2消しゴム1の”事務所A”と8/2物差し1の”事務所B”の記入はいらないかもしれない。
念の為書くけど、状態に入る関数は下記
=INDEX(E4:AI4,XMATCH("?*",E4:AI4,2,−1))
追記:
関数は極力シンプルな方がいいと思う。
1週間前に書いた関数なんて、後から見返すと、もはや他人が書いたのじゃないかとおもえるほど覚えていないこともあるのですよ。
どうしても複雑で冗長な関数を書かなきゃいけない時もあるけど、できるだけシンプルな関数で運用する方がメンテナンスも楽だと思う。
IF( ISBLANK($B4)=TRUE
,""
,IF( IFERROR(XMATCH("?*",$E4:$AI4,2,−1),0)=0
,"倉庫"
,IF( IFERROR(XMATCH("返却",$E4:$AI4,0,−1),0)=IFERROR(XMATCH("?*",$E4:$AI4,2,−1),0)
,"倉庫"
,"持出"
)
)
)
この関数に=INDEX(E4:AI4,XMATCH("?*",E4:AI4,2,−1))を追加すれば良いのでしょうか?
関数以前の問題で、1日のうちで物品が複数の場所に移動した場合の記入方法が元のシートにはないですよね。
おはようございます。返信に気付くのが遅くなりました。
shonz さんによる書き込み:
そうです。状態の列とはどれに当たるのでしょうか?
C列のことです。C列の列見出しに「状態」と入力されているので「状態」列と表現しました。充分意味が通じると思いますが…。
もちろん、実際にはC列のうち私がお示しした数式が既に設定されている部分を修正することになります。
消しゴム3と鉛筆1の間に無駄な行がありますよね。
一般的にはここに空白の行を挿入したりしません。
あえてユーザーが意図的に挿入していると考えました。
なので、ユーザが意図的に空白の行を挿入しているのですから、その行に関数をコピペすることもないでしょうって考えです。
空白行に関数をコピペしないのであれば、当該セルが空白かどうかもチェックする必要はないですよね。
あと、物品が一つしかないため管理番号をあえてつけない状況も考えましたが、物差しが一つしかないのに管理番号1が記入されていますので、この可能性も否定されます。
shonz さんによる書き込み:
この表でそれをクリアできる数式ありますかね?
今回の場合、やすどん さんの教えてくださったような形にするのが望ましいと思いますよ。
だから、ご自身で作られた表については、(私も残念ですが)ご利用を断念なさるのが賢明かと思います。
shonzさんの表に適用する数式を考えるのは楽しかったですが、これ以上検討してもshonzさんの利益になるとは思えませんので、回答は差し控えたいと思います。ごめんなさい。
ありがとうございます。
数式をコピーさせて頂き試してみたらイメージ通りでした
数式の意味が分からないので教えて頂きたいです!
よろしくお願いします
意味は理解できるのですが 数式と意味が一致しません、、、汗
E4に”事務所A”と入力したら”返却”と入力するまで日付が変わっても”事務所A”と入力される様にできないでしょうか?
三毛猫さんの関数に組み込む事できますか?
組み込むも何も、ただお互いがxmatchを使っているってだけで、やろうとしていることは別物だと思うんだけど。
どう言う様にしたらよいでしょうか?
E4に”事務所A”と入力したら”返却”と入力するまで日付が変わっても”事務所A”と入力される様にできないでしょうか?
ちょっと私が勘違いしているかもしれないので確認。
”事務所A”と入力されるべき場所は「状態」のセルでいいですよね?
私が勘違いしておりました、、、 状態のセルです。 別々のセルに
入力するので組み込む必要無いですね
Numbers関数