エクセルで旅費精算する際の工夫で困ってます

このQ&Aのポイント
  • エクセルで旅費精算する際の工夫で困ってます。最後の行は、同じ人物の帰着日と出発日がダブっているので、旅費の二重支払いをしてしまうおそれがあります。
  • D列に”チェック”という文字が出るなり、条件付書式でどこかのセルに色がつくなりで、注意するべきものであることがわかるよるにはどうすれば良いでしょうか?
  • =IF(DATEDIF(B3,VLOOKUP(A3,A$1:C2,3,0),"D")<1,"チェック","")としてもVLOOKUPでは一つの行しか対象にできないのでダメですし、大変困ってます。詳しい方、よろしくお願い致します。
回答を見る
  • ベストアンサー

エクセルで旅費精算する際の工夫で困ってます。

たとえば以下のようなエクセルの表において、 名前(A列)    出発日(B列)   帰着日(C列) 田中 一郎    11/3        11/5 田中 次郎    11/1        11/1 田中 三郎    11/5        11/6 田中 四郎    11/2        11/2 田中 五郎    11/2        11/5 田中 一郎    11/7        11/8 田中 六郎    11/9        11/12 田中 一郎    11/5        11/7 最後の行は、同じ人物の帰着日と出発日がダブっているので、旅費の二重支払いをしてしまうおそれがあります。 D列に”チェック”という文字が出るなり、条件付書式でどこかのセルに色がつくなりで、注意するべきものであることがわかるよるにはどうすれば良いでしょうか? =IF(DATEDIF(B3,VLOOKUP(A3,A$1:C2,3,0),"D")<1,"チェック","") としてもVLOOKUPでは一つの行しか対象にできないのでダメですし、 大変困ってます。 詳しい方、よろしくお願い致します。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

D1セルに次の式を入力し下方にオートフィルドラッグします。 =IF(A1="","",IF(SUMPRODUCT((A$1:A$100=A1)*(B$1:B$100<=C1)*(C$1:C$100>=B1))>1,"チェック",""))

qazxcvfr4
質問者

お礼

ありがとうございます。 助かりました。 ただ、IFの中の(B$1:B$100<=C1)は必要なのでしょうか?

関連するQ&A

  • 旅費を二重払いしないための関数SUMPRODUCT

    エクセル2010を使っている者です。 たとえば以下のようにエクセルの表において、旅費精算をする1つの旅行(出張)について 一行で書いたシートがあったとします。 NO(A列)  名前(B列)    出発日(C列)   帰着日(D列) 1 田中 一郎    11/3        11/5 2 田中 一郎    11/2        11/4 3 田中 三郎    11/5        11/6 4 田中 四郎    11/2        11/2 5 田中 五郎    11/2        11/5 6 田中 六郎    11/9        11/12 8 田中 一郎    11/6        11/7 9 田中 一郎    11/3        11/3 10 田中 一郎    11/10       11/11  11  田中  一郎    11/14 11/14 12 田中 一郎    11/15       11/15 田中一郎さんについて見ていただきたいのですが、この場合、機械的に作業すると 二重に旅費を支払ってしまいそうな場合に関係する行は、10行目以外のすべてです。 氏名が同じで、出発日、到着日が重なっている部分がある場合はもちろんのこと、 連続して出張している場合(11月5日、11月6日)もその危険性があります。 (たとえば、11月3日から5日が東京→仙台、11月6日・7日が青森出張だった 場合、5日は東京に戻らずに仙台から青森まで行った可能性があるからです) こうした場合に、指定したセル(列)に「確認」という文字が入るように以下の関数を 組んで下にドラッグしているのですが、完全にはうまく動いてくれません。 12行目の11月15日の出張についても「確認」と入ってほしいのですが、11行目の14日の 行については「確認」と入るのに、12行目には入りません。 =IF(SUMPRODUCT((B$1:B$1000=B1)*(C$1:C$1000<=D1+1)*(D$6:D$1000>=C1))>1,"確認","")) うまくいかなかったので、以下のようにしたのですが、もっとダメでした。 上の関数はずっと前にここの掲示板で教えていただいたものを少しだけ変えたものなのですが、 そもそもなぜ、sumproduct関数の値を「>=1」ではなく「>1」としているのでしょうか? =,IF(OR(SUMPRODUCT((B$6:B$1000=B1)*(C$1:C$1000<=D1+1)*(D$1:D$1000>=C1))>=1,SUMPRODUCT((B$1:B$1000=B1)*(D$1:D$1000=C1-1))>=1),"確認","")) よろしくお願いいたします。

  • エクセルでのデータ抽出方法について

    Excel2010で、IDと氏名を結びつけたリスト表を作成しようと考えています。 例として以下のようなエクセル表があったとします。 ※列A・列B→ID及び氏名   列D・列E→列A・列Bから抽出したい情報        【列A】    【列B】    【列C】    【列D】    【列E】      【行1】   11111   山田 太郎    -      11119    (※「山田 九郎を」入れたい) 【行2】   11112   山田 二郎    -      11112    (※「山田 二郎を」入れたい)     【行3】   11113   山田 三郎    -       11118    (※「山田 八郎を」入れたい)     【行4】   11114   山田 四郎    -       11114    (※「山田 四郎を」入れたい) 【行5】   11115   山田 五郎              【行6】   11116   山田 六郎                【行7】   11117   山田 七郎           【行8】   11118   山田 八郎 【行9】   11119   山田 九郎         : D列は既に入力済み(確定)で、IDが割り振られている人の氏名をE列に挿入したい場合の エクセルの操作方法について教えていただきたく、よろしくお願いします。

  • 一郎二郎三郎四郎五郎六郎七郎八郎九郎十郎・・・

    一郎・二郎・三郎・四郎・五郎・六郎・七郎・八郎・九郎・十郎で・・・ (1)あなたの親族知人でいるのは、どの名前ですか?    因みに私の場合は、中学校の恩師に一郎先生と、妻の叔父に四郎さんがいるだけです。 (2)それぞれで思いつく有名人は、誰ですか? 各1名づつ上げてみてください。    (全部でなくとも、思いつく名前だけで結構です)

  • Excel2010でシートAとシートBとの比較

    よろしくお願いします。 Excel2010を使用しています。 シートA(マスターデータ)とシートB(ランダムデータ)のリストを比較して シートAのデータからシートBのデータを取り除いたデータを抽出したいです。 シートA(マスターデータ) A列   B列 111111 田中一郎 222222 田中二郎 333333 田中三郎 444444 田中四郎 シートB(ランダムデータ) A列   B列 222222 田中二郎 444444 田中四郎 この場合、抽出したいのは 111111 田中一郎 333333 田中三郎 の2名です。 いろいろネットで調べてトライしてみたのですがなかなかうまくいきませんでした。 Excelは少し苦手ですががんばりますのでよろしくお願いします。

  • Accessで一致データを抜いて項目をずらす方法

    Access2000を使用して、テーブル1のフィールド2~5で、テーブル2と一致したフィールドを抜いて項目をシフトさせたいのですが、どのような方法があるのでしょうか。 <元テーブル>    フィールド→ 氏名, 名1, 名2, 名3, 名4 ・テーブル1の項目 山田,花子,次郎,三郎,四郎           鈴木,五郎,六郎,七朗,和子           佐藤,和子,一郎,太郎,四郎 ・テーブル2の項目 山田,花子           鈴木,七朗           鈴木,和子          佐藤,一郎           佐藤,四郎           佐藤,和子 <変換後テーブル>テーブル1を基準として   フィールド→ 氏名, 名1, 名2, 名3, 名4           山田,次郎,三郎,四郎,null           鈴木,五郎,六郎,null,null           佐藤,太郎,null,null,null 分りずらい説明で申し訳ありませんが、宜しくお願いします。

  • エクセルのマクロで全シ-ト複数条件検索

    エクセルで全シートから複数項目で検索をかけ、条件に合う項目の行ごと 新しいシートに抽出結果として表示することは可能なのでしょうか。 初心者なりに考え、無様なコードではありますが、 検索条件が1つであれば、条件にあう行をすべて抽出することはできました。 ですが複数、または列ごと条件として指定することができず、難儀しております。 たとえば Sheet1    A    B    C    D 1      田中太郎   男   穏やか  2      鈴木次郎   女   うっかり 3      山田三郎   女   怒りっぽい 4      佐藤四郎   男   せっかち Sheet2    A    B    C    D 1      伊藤五郎   女   用心深い 2      加藤六郎   男   ずぼら 3      斎藤七郎   女   臆病 4      後藤八郎   男   陽気 Sheet3    A    B    C    D 1      【条件】 2      加藤六郎 3      鈴木次郎 4      山田三郎 5      後藤八郎 マクロ実行後↓ 新しいシート    A    B    C    D 1      加藤六郎   男   ずぼら 2      鈴木次郎   女   うっかり 3      山田三郎   女   怒りっぽい 4      後藤八郎   男   陽気 といった具合にしたいと考えております。 この場合ですと、B列全体を条件としたり、 Sheet3の条件が入力されているセルすべてを検索条件として 渡すことはできるのでしょうか。 実際のシートでは、条件が10個~100個ほどあり、 シートごとに数はばらばらになっております。 どうかわかる方、お力をお貸しください。

  • 「並び替えとフィルター」を使って空白以外を抽出

    シート1に別のシートから抽出した人名が並んでいます。 シート2にも別のシートから抽出した数字が並んでいます。 人名と数字は同じ行/列に格納されます。 シート1もシート2も空白が含まれています。 シート3に人名と数値を隣り合わせで格納したいのです。 シート1とシート2共に、「並び替えとフィルター」を使って空白以外を 抽出したいのですが、「昇順/降順」を使うと、人名と数字の関連が崩れる ので困っています。 「並び替えとフィルター」で不可能ならば、別な方法でも構いません。 ご教示いただけますようお願い致します。 シート1                 シート2   A   B   C   D         A   B   C   D 1 太郎     次郎         1 100       10 2 三郎 花子     春子     2   5  200       50 3         秋子 夏子     3         500  100 4 四郎 五郎 六郎         4  80  300  400 5 七郎         冬子     5 300            60 シート3   A   B   C   D   E   F   G   H 1 太郎 100  花子 200  次郎 10  春子 50 2 三郎   5  五郎 300  秋子 500  夏子100      3 四郎  80          六郎 400  冬子 400    4 七郎 300      5                 

  • 【アクセス97】アクセスからエクセルへの変換での質問

    アクセス97での質問です。 以下にあるようなテーブル(1)をエクスポートでエクセルにだします。 その際、ふつうにエクスポートするとヘッダーがでてしまいます。 これを出さずにエクスポートする方法を教えてください。 (どんな方法を使っても結果、このテーブルがエクセルに書き出されればOKです。  VBAでもかまいません・・・。) <アクセステーブル(1)> 題名     作者    ISBN番号   読み仮名 アクセス入門 田中一郎  00000000 アクセスニュウモン エクセル入門 鈴木二郎  00000001   エクセルニュウモン ワード入門  佐藤三郎  00000002   ワードニュウモン 一太郎入門  加藤五郎  00000003   イチタロウニュウモン 花子入門   伊藤六郎  00000004   ハナコニュウモン                ↓エクスポート↓ <エクセル> アクセス入門 田中一郎  00000000 アクセスニュウモン エクセル入門 鈴木二郎  00000001   エクセルニュウモン ワード入門  佐藤三郎  00000002   ワードニュウモン 一太郎入門  加藤五郎  00000003   イチタロウニュウモン 花子入門   伊藤六郎  00000004   ハナコニュウモン よろしくお願いします。

  • Excelについて教えて下さい。

    Excelについて教えて下さい。 A列1行目=Price B列1行目~X列1行目までPriceに関する計算式の雛形が入ってます。 A列2行目=値引き B列2行目~X列2行目まで値引きに関する計算式の雛形が入ってます。 A列3行目に、Priceか値引きの文字を入力するだけで、B列3行目~の計算式を雛形から持ってくることは可能でしょうか? sample) A列 B列 C列 雛形1 Price =IF(E2="st",100%,"-") =IF(D2="","",VLOOKUP(D2,Total!$A$1:$D$416,4,FALSE)) 雛形2 値引き =IF(E3="st",100%,"-") =VLOOKUP(D3,Total!$A$1:$D$416,4,FALSE) A列  B列            C列 Price 雛形1の計算式を 雛形1の計算式を ↑Priceと入力すると、右のB列以降に雛形1の計算式を持ってくる。 値引きと入力した場合は、雛形2の計算式を持ってくる。

  • Excelの関数「VLOOKUP」について質問です

    以下のような表で 1 2 3 51 2 4 1 19 3 8 5 21 4 6 1 24 5 2 7 31 6 4 5 35 7 8 7 60 8 2 3 17 9 4 1 30 A11=空欄 A12=VLOOKUP($A11,$A$1:$D$9,2,FALSE) A13=VLOOKUP($A11,$A$1:$D$9,3,FALSE) とするとき、 A11に「5」と入力すると A12は「2」 A13は「7」になりますよね。 このときに新たにA14に、4列目の値を返すVLOOKUP A14=VLOOKUP($A15,$A$1:$D$9,4,FALSE) A15=任意の数を入れる を作りたいのですが、そのときに検索範囲を、A12,A13に求めた1列目の範囲 つまり2行目から7行目(A2からD7)に、自動的になるようにしたいのですが 検索範囲をどのように設定すればいいでしょうか。 お願いします

専門家に質問してみよう