• ベストアンサー

エクセルと関数について

エクセルと関数について エクセル2007で以下のような表を作成しました。 データはダミーです。 左が9月分の管理表で右が10月分の管理表です。 表は1月分から12月分まで作成しています。 1月から管理NOを付番していて、キャンセルがあれば 別の番号で管理しています。 そこで質問なのですが、右の表のA2に自動的に 前月の番号のつづき番号を付番できる関数はあるのでしょうか。 9月の一番最後の行が、キャンセルの番号だったときに 右の表(10月分)のA2に102と誤入力しないようにしたいのですが。 教えてください。

この投稿のマルチメディアは削除されているためご覧いただけません。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 一例です。 ↓の画像で説明させていただきます。 Sheet1の続きがSheet2ということにしています。 とりあえずSheet1のデータが1000行目まであっても対応できる数式です。 尚、配列数式になってしまいますので、この画面から直接Sheet2のA2セルに コピー&ペーストしただけではエラーになると思います。 Sheet2のA2セルに貼り付け後、F2キーを押す、またはA2セルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定してください。 数式の前後に{ }マークが入り配列数式になります。 =IF(D2="","",INDEX(Sheet1!$A$1:$A$1000,MAX(IF(Sheet1!$D$1:$D$1000=D2,ROW($A$1:$A$1000))))+COUNTIF($D$2:D2,D2)) このA2の配列数式をオートフィルでずぃ~~~!っと下へコピーします。 これでSheet2のD列に「キャンセルなし」か「キャンセル」が入力されるたびに その連番が表示されるはずです。 以上、長々と書きましたが 参考になればよいのですが・・・m(__)m

aidorumary
質問者

お礼

大変助かりました。 完ぺきでした。 いつもありがとうございます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

質問表現は下記のようにして良いか。 毎月分は別シートにデータがある。 前月シートににある、ある列で「キャンセル」である列は除き、そうでない行の別列の一番大きい数(番号)を取り出す。 例データ Sheet2(先月のシート) B1:C8 「ああ」は「キャンセル」などのコメント文字列のつもり。 番号 コメント 23 ああ 24 20 15 ああ 22 26 28 ああ Sheet3(今月のシート)のB2とかに =MAX(IF(Sheet2!$C$2:$C$20<>"ああ",Sheet2!B2:B20,0)) と入れて、SHIFT+CTRL+ENTERキーの3つのを同時押しする。 結果 26

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

下記続き SUMPRODUCT関数はデータ量が多かったり(A:Aで列全体選択を行ったり)、多用すると動作が重くなるので =INDEX(Sheet1!A:A,MATCH(D2,Sheet1!D:D,0),0)+COUNTIF(Sheet1!D:D,D2) こんな方法でも可能です

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

=SUMPRODUCT(MAX(データA*(データD=D2)))+1 データAは前月sheetのA列データー範囲、データDは同D列データー範囲 キャンセル有り・無しどちらでも自動連番を付けます

関連するQ&A

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

    エクセルと関数について 補足で質問できず、同じような質問で恐縮です。 エクセル2007で以下のような表を作成しました。 データはダミーです。 左が9月分の管理表で右が10月分の管理表です。 表は1月分から12月分まで作成しています。 1月から管理NOを付番していて、キャンセルがあれば 別の番号で管理しています。 前月の番号のつづき番号を付番できる関数はあるのでしょうか。 9月の一番最後の行が、キャンセルの番号だったときに 右の表(10月分)のA2に102と誤入力しないようにしたいのですが。 ただし、左の表のA列の最後の行が、「窓口」で終わることもあるし 「チケット有」で終わることもあります。 常に窓口で終わるとは限りません。 場合分けはどうすればいいのでしょうか。 教えてください。

  • エクセルと検索関数について

    エクセルと検索関数について 以下のような表をエクセルで作成しました。データはダミーです。 左が日々の管理データで、右が管理コードです。 毎日、管理データを作成していますが、旅館は「A―1」から付番しなければ いけないのに、NOは手打ち入力のため、間違うことも多いです。 正確には旅館だけではなく、A-NOから付番しなければ ならない施設がいくつかあります。 以下が間違い例です。 1234 映画館 1235 旅館←間違い 正しくはA-35  1236 映画館 1237 映画館 1238 映画館 1239 旅館←間違い 正しくはA-36  1240 映画館 1241 映画館 1242 旅館←間違い 正しくはA-37 売上施設から性別までは、他からダウンロードしたデータをコピペする形です。 したい処理は、データを「日々管理データ」シートにコピペした瞬間に、「日々管理データ」シートの売上施設が「旅館」だった場合に 「ここはA-NOが付番されるセルです!」的な注意書きが表示されるように したいのです。 初心者で申し訳ないですが、よろしくお願いします。

  • エクセルと日付の関数

    エクセルと日付の関数 エクセル2007で以下のような表を作成しています。 処理日(現在の日付)が例えば3月2日であるとき、以下の表のA2セルに 3月の前月、つまり2月の日付を入力する関数はあるのでしょうか。 初心者で申し訳ありませんが、よろしくお願いします。

  • if関数とVLOOKUP関数について

    if関数とVLOOKUP関数について エクセル2003で以下のような表を2枚 (シート1とシート2です)作成しています。 上段がシート1で、左上「NO」からA1セルに なっています。 下段がシート2で、特別番号が付番される 人の対象者リストで、「氏名」 がA1セルです。 図が乱れてすいません。 シート1のB列の売上日、C列の氏名は 別ファイルから貼り付けています。 シート2は、特別番号を付番する人の 氏名リストですが、ここでは、便宜上 小文字のアルファベットにしています。 ここでしたい処理ですが、売上日及び氏名を シート1に貼り付けた際に、特別番号対象者 (シート2のリストに挙がっている人) が入ってきたとき、自動的にシート1の A列のNOの列に「特別番号」 との文言を表示させたいのです。 実際に数字を表示するのではなく、 「特別番号」の文字列を表示させたいです。 IF関数とVLOOKUP関数でできると思うのですが よくわかりませんでしたので、教えてください。 NO 売上日 氏名 1 1月1日 A 2 1月2日 B 特別番号 1月3日 a 特別番号 1月4日 b 特別番号 1月5日 c 3 1月6日 D 4 1月7日 E 特別番号 1月8日 e 特別番号リスト(シート2) 氏名 住所 a 東京都 b 大阪府 c 神奈川県

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

    エクセルと関数について エクセルで以下のような表を作成しています。 上段の表は、お客様へのチケット販売ナンバーを表で管理したものです。 下段の表は、お客様へのナンバーを把握するための表です。 上段のnoは手打ち入力するのですが、下段の通り、ヨーロッパの方だけ noの振り方が違っています。 しかし、手打ち入力するために、間違って全部を連番にしてしまうときが あります。 関数で間違いを回避する方法はあるのでしょうか。 できれば番号を振った時にエラー表示するようにしたいのです。 アクセルのほうがやりやすいのでしょうか。 お願いします。

  • エクセル シート 関数

    エクセル2003にて、シート番号の関数についてです。 現在sheet1(0)をコピーして必要分だけsheet1(1)、sheet1(2)としています、 日によってsheet1(50)ぐらいまで作成することがあります、これを利用して=IF(ISERROR(INDIRECT("'Sheet1 (1)'!c3")),"-----",INDIRECT("'Sheet1 (1)'!c3"))このような関数を管理シートで使用しています。 問題として関数内のsheet1(1)が連番なので表作成時(1)の部分の1を連番として2、3・・51、52と関数内でsheet1(51)自動で入力するための関数を教えください。

  • エクセル 関数について

    各月ごとにシートをつくっており、シート7月分のA1に  ='6月分'!A100  というセルをつくって前月分の残高を表示するようにしております。 毎月関数の月を手で変えているのですが、セルC1に日付を入力していますので、その月を使ってA1の関数を自動的に変えて表示することはできないのでしょうか。よろしくお願いします。

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

    エクセルの関数について 入金管理表(例1)を作成し、顧客を入力すると、別に作成してあるリスト(例2)を見て同じ顧客名の支払い日を入金管理表のE列に表示させたいのですが、どんな関数式を用いれば可能でしょうか? どなたか教えてください。よろしくお願いいたします。

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

    検索に使用する関数についてお伺いいたします。 表を二つ作成しました。 シート1には特に項目の指定がなく、番号の若いものから順に左から右に並べた24×8の表があります(表1とします)。 シート2にはいろいろな項目を指定した表があり、B列にランダムに数値が入っています(表2とします)。 表1の範囲に表2のB列の値が入っている場合、表2のA列に◎や*などのなんらかのしるしをしたいのですが、どのような関数を使用すればよいでしょうか? わかりにくい文章で申し訳ありませんが、よろしくお願いいたします。

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

    エクセルで在庫管理表を作成していますが、在庫数が0場合は印刷しないように隣りに印刷用の表を作成しています。 関数としてINDEX関数など使用しデータを検索、印刷用表に表示するようにしていますがうまくいきません。  サンプルファィルを添付しますのでどこに問題があるのか教えてください。

専門家に質問してみよう