エクセルでの決裁番号による決裁符号と決裁者の反映方法

このQ&Aのポイント
  • 会社で「受注工事の管理表」を作成しています。A列に案件のID番号、B列に決裁符号、C列に決裁番号、D列に決裁者を入力します。問題はC列の決裁番号によってB列の決裁符号とD列の決裁者が変化することです。数字の数や漢字の違いに対応するために、簡単な関数が必要です。
  • 一度はIFや不等号を組み合わせて試しましたが、数字以外の余分な漢字などに対応するのが難しいです。また、VLOOKUP関数も試しましたが、適切な方法が見つかりませんでした。そこで、簡単で解りやすい関数の使い方を教えていただきたいです。
  • 決裁番号のパターンには「第特×××号」「第××××号」「GL××××」の3つがあります。数字の数や漢字の違いに対応しながら、B列とD列に反映させる方法を教えてください。
回答を見る
  • ベストアンサー

この場合、エクセルの関数はどれを使ったらよいでしょうか?

会社で「受注工事の管理表」を作成しています。(以下「×」は数字です。) A列に案件のID番号(19-×××) B列に決裁符号(第特×××号→「東日本」、第××××号→「西日本」、GL××××→「西日本」) C列に決裁番号(第特×××号、第××××号、GL××××) D列に決裁者 以下金額その他がずらずら続きます。 問題は、C列の決裁番号によって、B列の決裁符号とD列の決裁者が違ってくる事です。 そして、C列を入力すると、B列とD列に、反映されるようにしたいのです。 B列の決裁番号は、「第特×××号」「第××××号」「GL××××」の三つのパターンがあります。 数字の数でIFや不等号を組み合わせて作ってみたら、「第特」や「第」「号」など、数字以外に余計な漢字が入っていた為、うまくいきませんでした。 VLOOKUPで取り込もうとしたのですが、これもうまいやり方がわかりませんでした。 どなたか、簡単な(解りやすい)関数でまとめる方法をご伝授下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • poohron
  • ベストアンサー率59% (574/971)
回答No.1

ご質問文からすると、 決裁番号が「第特」で始まる場合は決済符号が「東日本」 そうでない場合はすべて決済符号が「西日本」 ということになりますが、それでよろしいでしょうか? 決済番号に入力間違いが無いと仮定すると =IF(LEFT(C1,2)="第特","東日本","西日本") となります。 但し、「第特」の部分を間違えて入力すると決済符号も間違って表示されるので ミスを防ぐ必要があるならばもう少し異なる記述が必要になります。 また、D列の決裁者はどういう場合にどう表示させたいのでしょうか?

koukin_mek
質問者

お礼

回答ありがとうございました。

koukin_mek
質問者

補足

回答ありがとうございました。 お恥ずかしながら、LEFT関数を知りませんでした。 それから、D列の決裁者は、決裁符号が、「東日本」なら「○○課長」で「西日本」なら、「△△課長」となります。 案件の要素によって、提出元が違い、提出元によって、決裁者が違うわけです。だから、IF関数で、決裁符号を基準に処理できると思います。 私は、関数を直接入力したことがなく、関数のダイヤログボックス(?)を開いて、当てはまる数値や単語を埋めていくやり方なので、直打ちすると、どうるのか、解っていないのです。だから、ここで、直打ちした数式をとっさに書けないのが、とても情けないです。(泣)

関連するQ&A

  • エクセルの関数について

    A列に抽選会の回数(1~100)、B列に当選番号(1~10)、C列に賞品番号(アルファベット1桁+数字3桁)が3000件 位あるデータがあります。 例えば、検索値として、A列の抽選会回数=5 & B列の当選番号=3 & C列の賞品番号="1桁目がDのデータ全て" の データ数を求めたいのですが、どのような式を使えば良いでしょうか? 先日この質問ページで、『SUMPRODUCT』を教えていただいたので、下記の様に指定してみましたが、当然(?)駄目でした。 SUMPRODUCT((A1:A3000=5)*(B1:B3000=3)*(C1:C3000="D***")) ちなみに、オートフィルターは使用したくありません。 宜しくお願いします。

  • エクセル2007関数

         A   B    C     D E 1   15  20  300 2   21  22  400 3   34  31  452 D1に、A列の数字のいずれかを入力すると、 E1に、A列のいずれかの数字を入力した行のC列の数字を表示させたい。 たとえば、 D1に、21と入れると、E1に400と D1に、34と入れると、E1に452と 表示させたいのですが、 関数は、ありますでしょうか?

  • エクセル(関数)について、教えて下さい

    写真のようにA列に日付が入力してあり、B列に数字を入力します。 B列に入力した数字の日付を、C列の表内に表示させ、D列にはB列に入力した数字を表示させたいと思います。 どのようにしたら良いのでしょうか。 よろしくお願いします。

  • エクセルの関数

    エクセルの関数についてですが。 1行目には見出しがあります 2行目から100行目までデータが入っています A列は店名B列は氏名  C列には、目標の数字  D列には成績 E列に関数を入れたいのです。D列の数字が5000を超えると☆、さらにC列よりD列が大きかったら ○ (目標を達成したら○が入るということです) さらに、C列よりD列が小さい場合は、D列の数字をそのまま入る)。。。目標を達成した場合は ○ 達成していない場合は そのままの数字を入れるということです どんな関数をいれたらいいか教えてください

  • 関数等使ってできますか??

    エクセルもしくはAccessを使用して以下のことできますか? エクセルのA~D列に数字もしくは、文字が入力されているとします。 それを、B列に上からデータを並べたいのです。 関数などでできる方法がありましたら教えてください。 よろしくお願いします。 ●イメージ図 【加工前】 _A__B__C__D__ 1|a|b|c| 2|a|d| | 3|b|d|a| 4|c| | | ※A~Dはセル列 ※a~dは数字もしくは文字 ※一番左の数字は通し番号   ↓↓ 【加工後】 _A__B__C__D__ 1|a| 2|a| 3|b| 4|c| 1|b| 2|d| 3|d| 4| | 1|c| 2| | 3|a| 4| |

  • エクセルのIF関数について

    エクセルのIF関数について質問をさせて頂きます。 現在、下記のような条件で抽出できる式を考えているのですが、 中々思うような式が思い浮かびません。 例えば、     A列  B列  C列  D列 1行目  111 2行目  222 3行目  333 4行目  444 5行目  555 6行目  666 7行目  777 8行目  888 9行目  999 上記のようなシートがあったとして、     A列  B列  C列  D列 1行目  111       999 2行目  222       333 3行目  333   ○   123   × 4行目  444 5行目  555 6行目  666 7行目  777 8行目  888 9行目  999   ○ 上記のように、例として C列の1行目に「999」と入力した場合、A列の9行目に「999」の数字があるので、その横のB列に「○」 C列の2行目に「333」と入力した場合、A列の3行目に「333」の数字があるので、その横のB列に「○」 C列の3行目に「123」と入力した場合、どこにも該当番号がないので、入力したC列の横、即ちD列の3行目に「×」を表示 要は、A列のどこかに該当数字があった場合にはその数字の横(B列)に「○」、どこにも該当数字が無い時には、入力した数字の横、D列に「×」を表示するような数式を考えています。 IF関数を使えばできるような気がするのですが、色々と試してみても中々うまくいきません。 下手な説明で分かり辛いかもしれませんが、どなたかご存知の方がいましたら、ご教授の程頂ければ幸いです。 どうぞ宜しくお願い致します。

  • エクセル関数について困ってます 

    機器番号(A列)毎に最大値(B列)を抽出し、C列の数値を加算した結果をD列にかえす方法を 誰か教えてください A列             B列            C列          D列 #123456          25             6 #123456          89             6            95 #123456          56             6   #234567          99             -2           97 #234567          31             -2            #234567          55             -2   

  • エクセル関数の質問

    よろしくお願いします。 エクセル2003を使用してます。 A     B     C     D      1      2     3 1     1     1      1 2     3     4      5 3     5     7      9 4     7     10     13 5     9     13     17 6     11     16 7     13    19 8     15 9     17 10    19 11 12 13 14 15 16 17 18 19 20 上記のA列の1~20(実際はもっと多い)の数字を B列、C列、D列のように並べたいのですが、 1行目の1,2,3の意味は 1だったらA列の数字を1行間隔ずつあけて、B列に行を詰めて並べる 2だったらA列の数字を2行間隔ずつあけて、C列に行を詰めて並べる というような意味なのですが、わかる方がいましたらご教示お願いします。

  • エクセル 関数を教えて下さい。

    ちょっと複雑なのですが、こういう場合の関数の式はどうすれば良いか解る方がおりましたら教えて頂きたいのですが、宜しくお願い致します。 列AではAまたはBを選択し、列Bでは列AのA,Bそれぞれにa,b,c,d,eのいずれかを選択したときに、列Cに列A・列Bで選択したのもに当てはまる記号・数字を表示させるといった関数なのですが、何度挑戦しても引数が限界を超えている等になり出来ません。 もしかすると、根本的に間違っているかもしれません。ちなみにIFを使っていました。 列A  列B  列C A     a     × A     b     2.3.4 A     c     2.3.4 A     d     1.3.4 A     e     2.3.4 B     a     × B     b     2.3.4.10.11.12 B     c     2.3.4.10.11.12 B     d     1.3.4.9.11.12 B     e     2.3.4 列A・列Bを選択すると、列Cに上記の記号・数字を自動表示させたいです。 以上、宜しくお願い致します。

  • EXCEL(関数)について、教えてください。

    EXCEL(関数)について、教えてください。 見積書をEXCELで作っております。(Excel2003) 100万以下は"課長決裁"という文字列をセルC1に表記 100万以上300万未満で、かつ利益率5%以上は"課長決裁"という文字列をセルC1に表記 100万以上300万未満で、かつ利益率5%以下は"部長決裁"という文字列をセルC1に表記 100万以上300万未満で、かつ利益率3%以下は"社長決裁"という文字列をセルC1に表記 ・・・・・・・ という感じで9個以上の条件があり「見積金額セル(例えばA1)」と「利益率セルB1」を参照しながら上記条件にそって課長決裁とか部長決裁、社長決裁といった文字列を特定セル(ここではC1)に表記させたいと思っております。 こういった場合、マクロなど使わずに関数で出来たら良いなと考えておりますが、どんな関数を使えば良いのでしょうか? 分かる方教えて下さい!

専門家に質問してみよう