• 締切済み

excel2010 数値を出す時の範囲指定について

得意先の当年、前年の売上実績表をExcel2010で作成しています。 Aファイル(売上集計表)とBファイル(前年売上金額)があり、Bファイルを集計し、Aファイルに前年の売上金額を表示します。Aは、当年の順位と会社名と当年の売上金額を表示しています。当年と前年で順位が異なると数値が合いません。当年の順位と会社名をキーにして、前年の売上金額を載せたく思います。例えば当年が1位のA会社が、前年が2位の場合もあります。当年1位は、A会社の売上金額、前年の金額はA会社の2位の売上金額が入り、1位の前年度の金額が入りません A.xlsを立ち上げて、B.xlsを立ち上げ計算して、得意先の当年と前年の数値をA.xlsに書き込んでおります。 A.xlsのB列に1から8の順位までが固定で入力されていて、C列に会社名があり、D列に当年の数値、E列に前年の数値を書き込んでおります。 B.xlsのA列に1から60までの順位があり、B列には会社名があり、C列に前年の数値があります。 当年の数値は問題ないのですが、前年の数値をA.xlsに書き込む際に、B.xlsの順位fがキーになっている為、 数値が逆になってしまう事があります。 A.xlsにある会社名は、当年の数値を見てA.xlsに書き込んでおります。 得意先の順位が、当年と前年において同一であれば問題ないのですが、 異なる場合、数値が異なって書き込まれてしまいます。 当年で8位、前年で9位だとすると(得意先の当年と前年の順位が同一でない場合)前年の8位の値が書き込まれてしまいます。 (異なる得意先の前年の8位の値になってしまいます。) A.xlsのC列の会社名をキーにして、得意先の当年と前年の順位が同一でなくても、 前年の順位を出すにはどうすれば良いでしょうか? 下記コードを用いております Dim iii, jjj As Long Dim myrange1 As Range jjj = 3 For iii = 1 To 8 Set myrange1 = Range("A:A").Find(What:=iii, lookat:=xlWhole) If myrange1 Is Nothing Then Workbooks(ThisWorkbook.Name).ActiveSheet.Range("E" & jjj) = "確認!" Else myrange1.Offset(0, 2).Copy Workbooks(ThisWorkbook.Name).ActiveSheet.Range("E" & jjj) End If jjj = jjj + 1 Next iii 長文・乱文を最後まで読んでくださりありがとうございました。 ご教授ください。 宜しくお願い申し上げます。

みんなの回答

  • msn-alice
  • ベストアンサー率100% (4/4)
回答No.1

LOOKUP関数

関連するQ&A

  • マクロを使用すると表示できなくなるのです

    さきほども別の質問をさせていただきました。 もう一つお願いいたします。 表形式で、c列に前年売上500,231,655 d列に当年売上485,652,311という数値がずらっとならんでおり、E列に前年比という項目があります。前年比は前年売上/当年売上でだすことはできます。これを小数点以下第二位までの%表示させています。この前年と当年売上の数値を百万単位や円単位、千円単位で表示させるマクロを作りました。そうすると、この前年比の項目の%表示したものが、1や0という数値に変わります。セルにはきちんと前年売上/当年売上の数式が入っているのですが%表示されなくなります。これをマクロを使ってもきちんと%表示させることってできるんでしょうか? 明日の会議で必要になる資料なもので、どなたか教えてください。よろしくお願いいたします。

  • 範囲内の時に数値を返す数式

    エクセルの質問です。 A列B列に範囲、C列に金額が入っています。 別シートのA列の数値がA~Bの範囲内だった場合、B列に金額を返す数式を教えてください。 1シート A    B    C 以上  未満   金額 10,000 15,000   500円 15,000 20,000  1,000円 20,000 25,000  1,500円 2シート A    B 12,000   500円 15,000  1,000円 2シートB列を求める数式を教えてください。 どうぞ宜しくお願いします。

  • 【EXCEL2003】固定の数値を割り振りたい

    お手上げと言いますか、もうチンプンカンプンです。お助けください。 1ヶ月の売上を1日の売上で割ったのがD列です。 この割合を今年の同曜日の日に当てはめたのがH列です。 H列の金額はH14(自分で決めた金額)を割り振っています。 こうすると、5月で例えれば31日が余ってしまいます。 なので、前年1日のD2を当てはめます。 問題なのは、大の月・小の月・2月(閏年)などあって 一筋縄ではいかないことです。 5月なら31日に前年1日を。 6月なら30日に前年1日を。 2月なら28日に前年1日を(閏年は29日)。 これを関数で出来ないでしょうか?

  • Excelの2個の条件に合致した数値を入力

    B.xlsのA列とA.xlsのB列、B.xlsのC列とA.xlsのD列の行がマッチしたらA.xlsのF列、H列の数値をB.xlsのD,E列に添付の下図のように数値を入力したいのですがVBAコードが解る方宜しくお願いします。(同じく関数の方もわかればお願いします)

  • エクセルで数値の範囲を指定して、番号を付けたいです

    エクセルに詳しくないのでどなたかお教えてください。 A列 35 68 40 13 53 98 71 とA列にある数値を 1~31=1 32~51=2 52~75=3 76~100=4 と数値の範囲を指定して、イコールの右側の数字(上記でしたら1~4の数字)をB列に表示させたいのですが、これはエクセルでできますか?できましたらやり方を教えてください、よろしくお願いします。

  • Large関数、複数範囲を指定できますか?

    配信されたメルマガ内のURL「リンク1」と「リンク2」のクリック数の中からランキングをつけたいと思っています。(B列とE列) 範囲指定はひとつしかできないと思うので、列が連続していない場合は、どのようにすればよいでしょうか? また、ランキング結果は予め"Sheet2"にした順位表(A列の順位は手で入力しておきます)のB列に値(クリック数)が表示されるようにしたいです。値が同じ場合(E3とB6など)は上から順番に取得できればよいです。A列の順位は後で修正しますので。 そして同時に"Sheet1"A列の配信日を"Sheet2"C列に表示できれば尚良いのですが。 同時に複数の質問で申し訳ありません。 部分的な回答でも構いませんので、よろしくお願いします。 Excel2000です。 "Sheet1"    A    B     C   D    E    F    G 1 配信日      リンク1    リンク2 2    クリック数 注文件数 金額 クリック数 注文件数 金額 3 0101   10     0   0    20     0   0 4 0115   15     0   0   15     0   0 5 0201   10     0   0   35     2  15000 6 0215   20     0   0   10     0   0 7 0301   30     1   5000  17     0   0 "Sheet2"    A   B      C 1  順位 クリック数  配信日 2  1位   35     0201 3  2位   30     0301 4  3位   20     0101 5  4位   20     0215 6  5位   17     0301

  • EXCELで数値範囲を指定してカテゴライズ

    Excel2010です。 フィールドA(数値型)には、小数含む様々な数値があり、 フィールドB(文字列)にカテゴライズしたいと思います。 フィールドAの値から「1未満」「1以上5未満」「10以上30未満」「30以上」 というように分類して、フィールドBに「1未満」等の値を付与します。 どの様に行えばよいでしょうか。

  • Excel 数値を範囲で指定して抽出する方法

    想像してください A列に1,3,4,5,6,7,9,10,11,12, , ,29999。。。 と所々はハヌケの数値が並んでいます。1~30,000までです。 ここで、この数値の範囲を抽出して3列に分割したいのです。 B列には1~10,000までの値 C列には10,001~20,000までの値 D列には20,001~30,000までの値 という具合です。 BCDに入れる関数はどのようなものにすればよいでしょうか。

  • 限定範囲内の数値に対するRANK関数について

    エクセルについての質問です。    A  B   C  D 1    11 22 33 2    10 20 30 3    15 25 36 4    12 24 36 5    18 27  A列にRANK関数を使い「順位を入れたい」のです。 ただし以下のような決まりがあります。    (1)D列にて値が33以上の数値を対象とし、    (2)B列の数値を降順にランク付け 結果としては以下のようになる数式を目指していますがそのような関数はできますでしょうか。    A   B   C  D 1  3  11 22 33 2     10 20 30 3  1  15 25 36 4  2  12 24 36 5     18 27  対象がD列だけの数式でしたら 例えばA1のセルに  =IF(OR(D1<33,D1=""),"",RANK(D1,$D$1:$D$5,FALSE)) と入力し、他のA列へコピーすれば良いと思うのですがさらにその結果を対象とした数式がどうにもよくわかりません。 お分かりの方いらっしゃいましたら教えて頂けますでしょうか。

  • [Excel2000]指定日付範囲でデータを絞り込みたい

    お世話になります。 指定日付範囲でデータを絞り込みたいのですが、いろいろWeb情報を巡回しても解決しないので教えてください。 例えば、A列が日付形式、B列が数値形式で入力されたシートがあった場合、指定した日付範囲のみ行を絞り込んでシートに表示させたいのですが、どのような方法が考えられるのでしょうか? 次のようなデータがシートに入力されている状態で、2000/01/01から2000/06/30までの日付でデータを絞り込みたい。 A列     B列 2000/01/01  1 2000/02/01  2 2000/03/01  3 2000/04/01  4 2000/05/01  5 2000/06/01  6 2000/07/01  7 2000/08/01  8 2000/09/01  9 2000/10/01  10 2000/11/01  11 2000/12/01  2 希望する結果は A列     B列 2000/01/01  1 2000/02/01  2 2000/03/01  3 2000/04/01  4 2000/05/01  5 2000/06/01  6 よろしくお願いします。

専門家に質問してみよう