[[20190304143912]] 『特定条件で数値入力』(りき) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『特定条件で数値入力』(りき)

以下の4つのセルに記号を入力し、特定条件になるとB4(B5)セルに数値を入力したいのですが、IFとVLOOKUPで作成するとものすごく長文関数になります。もっとスマートなやり方はないでしょうか? ご教授お願い致します。(ちなみにバージョン2010と2000の両方での作成の仕方をお願い致します。)

A1 B1
A2 B2

  B4(関数入力)
  B5(関数入力)

優先順位
 A2 B2
 A2 B1
 A1 B2
 A1 B1

入力値
B4 ● 1.5
  L● 1.25
B5 ● 7
  L● 7

B4セルの関数
条件1 A2が○でB2が●のときB4に1.5と入力
    以下、優先順位どおり
条件2 …
 ※条件に該当しなければnull

B5セルの関数
条件1 A2が○でB2が●のときB5に7と入力
    以下、優先順位どおり
条件2 …
 ※条件に該当しなければnull

< 使用 Excel:Excel2010、使用 OS:Windows7 >


<りき)
すみません、書き忘れです。入力パターンが以下の4種類です。

○  ●
L○  ●
○  L●
L○ L●

(りき) 2019/03/04(月) 14:47


 何度も読み直してみたんですがやっぱり条件がよく理解できません。。
 今できているのなら、その数式を提示いただけませんか?
(ろっくん) 2019/03/04(月) 15:40

 もしかしてA列には「○」、B列には「●」しか入らないということですかね?
 B4=IF(A2&B2="○●",1.5,IF(A2&B1="○●",1.25,IF(A1&B2="○●",1,IF(A1&B1="○●",0.75,""))))
 みたいなことでしょうか??

(ろっくん) 2019/03/04(月) 16:07


説明が下手ですみません。具体的に申しますと勤務表で記号(○、△、□等)で入力してあります。
勤務予定がA1〜D1... に時折変更になりますのでその変更後がA2〜D1... に
入力されます。なのでA2がnullの場合はA1が勤務実績。
同様にB2がnullの場合はB1が実績。
通常の記号(○、△、□等)の時の関数はできるのですが、
○●の勤務の時は特殊で

  1日  2日  3日  4日 ... 31日

   A    B    C    D 
1 ○  ●
2
3
4   (関数(●=1.5 L●=1.25))
5   (関数(●=7.0 L●=7.00))

と入力したいのですが、現状だと

=IF(AND(E8="○",F8="●"),VLOOKUP(F8,$B$187:$C$188,2),IF(AND(E8="L○",F8="●"),VLOOKUP(F8,$B$187:$C$188,2),IF(AND(E8="○",F8="L●"),VLOOKUP(F8,$B$187:$C$188,2),IF(AND(E8="L○",F8="L●"),  ...

のように永延と続いてしまいますのでもっとスマートなやり方をご提案頂けないかと思います。よろしくお願い致します。

(りき) 2019/03/05(火) 09:41


どうにもよくわかりません。
記述された数式はどのセルに入力されているものですか?
E5かF5だと思うのですが。。。

1行目は当初予定が入っており、2行目には変更後の予定。
列は日付。

ですよね。
1日目の当初の予定がA1に入っていて、変更されるとA2に変更後の予定が入る。
変更が無い場合はNull。

1行目と2行目には値が入っているはずなので、3行目以降に実績が入る必要があります。
実績が入力値なのか計算値なのかよくわかりませんが、1行目に入れる事はできないはずです。

もう少し具体的にお願いします。例えば、
〇は通常の出勤予定●は休日
△は休日出勤
□は半日出勤
1行目に月初の出勤予定
2行目に実際に勤務した状態
3行目は給与計算のための割り増し時間計算フラグ
・・・なんか違いそうですね。

(通りすがりのおっさん) 2019/03/05(火) 10:00


 私もよくわかっていませんが

 >=IF(AND(E8="○",F8="●"),VLOOKUP(F8,$B$187:$C$188,2),IF(AND(E8="L○",F8="●"),VLOOKUP(F8,$B$187:$C$188,2)…

 =IF(OR(E8&F8={"○●","L○●","○L●","L○L●"}),VLOOKUP(F8,$B$187:$C$188,2,FALSE)…

 でもよさそうですね。
 ※検索方法が抜けていたので勝手に追加しました。
(bi) 2019/03/05(火) 10:51

通りすがりのおっさん 様
わかりにくくてすみません。

>記述された数式はどのセルに入力されているものですか?
 E5かF5だと思うのですが。。。

 すみません。E5とF5です。直すのを忘れていました。

昼勤務と夜勤務の時間を分けて時間出力したいのです。
−日勤(昼 7.5 夜 1.5) L−日勤(昼 7.5 夜 1.25)
○準夜勤(昼 0 夜 9)  L○準夜勤(昼 0 夜 8.57)
●夜勤(昼 1.5 夜 7.5) L●夜勤(昼 1.25 夜 7.5)
 

     A    B    C    D
1     −  ●  ○  −
2          ○
3
4  7.5  1.5  0    0
5  1.5  7.5   9    9

という感じです。ここまでは出来るのですが特例として○●の勤務になる場合の●は、
●夜勤(昼 1.5 夜 7.0) L●夜勤(昼 1.25 夜 7.0)になります。

(りき) 2019/03/05(火) 12:06


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.