• 締切済み

どの関数を使えばよいですか?

はじめまして。EXCELも駆け出しで まだまだ関数の意味もわからないままやっているものなのでトンチンカンな事を書くかもしれませんがあらかじめご了承下さい。     売上   A県   10 B県   15 C県    8 I地区  32 D県    12 E県    10 II地区   22 F県    18 G県    10 H県    12 III地区  40 ※A~C県の合計がI地区というふうになっています。 II、III地区も同様にD・E県合計、F~H県合計です。 すごく略して申し訳ございませんが上記のようなEXCELの形式を 使った場合、各県の売上の降順に(各地区は除く)別のシートに並べたいのですがどのような関数を使えばよろしいでしょうか? 今、各県名毎をctrlキーを押しながらまとめて左上の升目に名称をつけ (各県の合計の地区が入らないように)同時に各県毎の売上も同様に名称をつけ、 =LARGE('週間販売計画(EXCEL名.xls'!売上,1) というので売上数字の降順はかけられたのですが、連動して県名箇所に =INDEX('EXCEL名.xls'!県名,MATCH(B11,INDEX('EXCEL名.xls'!売上1,0),1)) という関数をいれたところ一部は出たもののほとんどN/Aでした。 もっと簡単な方法があればよろしくお願いいたします。

みんなの回答

回答No.8

#7です >出来ましたらsheet1をいじらずsheet2での方法をお教えできませんか? Sheet2で作業列を作れば良いと思いますがダメなんでしょうか? そして、関数を使わなければいけないのでしょうか? Excel一般機能でできるものを関数で行うのは非常に大変です。 数式を使った方法です。作成後にSheet2へ切り取って貼り付けます。 D2:E12セルを選択して下記を数式バーに貼り付けます。 =IF(COUNTIF($A$2:$A$12,"<>*地区")<ROW($A$2:$A$12),"", INDEX(A:B,MOD(LARGE(IF(RIGHT($A$2:$A$12,2)<>"地区",$B$2:$B$12*10^5+ROW($A$2:$A$12)), ROW($A$1:INDEX($A:$A,COUNTIF($A$2:$A$12,"<>*地区")))),10^5),{1,2})) セルへの入力は[Ctrl]+[Shift] +[Enter] で確定します 配列数式です({}で囲まれる) 数式の考え方は#1のKURUMITOさんと同じです。

回答No.7

DドライブのルートにTEST.xlsで保存した。 また、A1セルの項目名は「県名」とした Sheet2で外部データの取り込み - 新しいデータベースクエリ Excel Files TEST.xlsを選択して MSクエリにて編集する 降順や抽出など 下記参考 *****SQL文***** SELECT `Sheet1$`.県名, `Sheet1$`.売上 FROM `D:\TEST`.`Sheet1$` `Sheet1$` WHERE (`Sheet1$`.県名 Not Like '%地区') ORDER BY `Sheet1$`.売上 DESC ****SQL END***** Sheet2!A1へ書き出す 外部データ範囲のプロパティで「定期的に更新する」などチェックを入れる

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.6

>出来たらsheet1の形状は変えなく、sheet2で県だけの降順を かけたいのです。 だから最初にシート2にコピーしたじゃないか

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.5

こんにちは。 発想を変えて関数を使わない方法を記載します。参考に・・・ 仮にシート1に質問内容の表があったとして、シート2にはシート1を参照します。 例、 シート2 A1セル =sheet1'A1 B1セル =sheet1'B1 ・ ・ ・ シート2にオートフィルタ A列の条件は”*県”に”等しい” B列は昇順 これで別のシートに質問者さんの意図する事が可能です。 質問を取り間違えていたらすいません。

narukoyosh
質問者

お礼

図解まで入れていただきありがとうございます。 もう一歩つっこんで申し訳ございませんが、これはsheet1の数値が 変わったつどオートフィルターをクイックするのでしょうか? sheeet1の数値を替えてもsheet2は何も触ることなく降順になれば いいな~と思ったのですが無理なんですかね?

回答No.4

発想を替えてはどうでしょう。 お示しの表をデータから集計するのは何かと不便です。今回だけなく今後もまた問題が出てくるでしょう。 そこでこの際、回答3の方が提示された形式のものを本データにします。 そこから、お示しの表や他の集計表をつくるようにします。これによって現在そして今後も出てくるであろう負担が大いに軽減されます。

noname#235092
noname#235092
回答No.3

「地区名」と「県名」が同じ列に混在しているのが難しくしている原因と思われます。 もし作り変えられるようであれば下記のように作り直すとご希望の作業が簡単になります。    A  B  C  D  E  F  G  H 1  番号 地区 県名 売上 2  1  1  A  10 3  2  1  B  15 4  3  1  C   8 5  4  2  D  12 6  5  2  E  10 7  6  3  F  18 8  7  3  G  10 9  8  3  H  12 10 11                番号 地区 合計 12                1  1  33 13                2  2  22 14                3  3  40 15                   合計 95 これだとご希望の作業をするのにもう説明はいらないのでは? そのまま番号ごと並べ替えればもとの順序にも戻せます。難しい関数は不要ですね。 参考にしてください。 なお、合計の「33」「22」「40」のセルにはこの場合実際は下記の関数をそれぞれ入力します。自動でその地区の合計を計算してくれます。 =SUMIF(B2:B9,"1",D2:D9) =SUMIF(B2:B9,"2",D2:D9) =SUMIF(B2:B9,"3",D2:D9) ※数字は表示がずれないように全角を使いました。

narukoyosh
質問者

お礼

ありがとうございます。 県名と地区名は固定されて変更することが出来ないので 別シートで県名の売上降順が出来る方法があれば伝授していただけないでしょうか?

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.2

まずシート1をシート2にコピーします。 一番左に1列挿入します。A列とします その列に =if(right(B2,2)="地区",9,0)   先頭が2行目の場合 {B2の右2文字が"地区” ならば 9 それ以外は 0} として一番したまでコピーします。ドラッグフィルでも こうするとA列に県の場合は0、地区の場合は9という数字が入ります。 Aをキーにソートすると地区がまとめて一番下に固まるはずです。 これを削除してA列を削除したら元の表から地区を除いた表ができます。 これを売上で降順ソートしたらどうです。

narukoyosh
質問者

お礼

ありがとうございます。 出来たらsheet1の形状は変えなく、sheet2で県だけの降順を かけたいのです。 我がままで申し訳ございません。

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

作業列を作って対応するのがよいでしょう。 シート1ではA列に県名や地区名が、また、B列には売上高がそれぞれ2行目から下方にあるとします。 C2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(A2="",ISNUMBER(FIND("地区",A2))),"",B2-0.0001*COUNTIF(B$2:B2,B2)) この式では同じ売上高があっても問題なく処理できるようにしています。 D2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(C2="","",RANK(C2,C:C)) シート2にはお望みの表を作るとします。 A2セルには次の式を入力しB2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(COUNTIF(Sheet1!$D:$D,ROW(A1))=0,COLUMN(A2)>2),"",INDEX(Sheet1!$A:$B,MATCH(ROW(A1),Sheet1!$D:$D,0),COLUMN(A2))) これで、売上高の降順に並んで表示されます。

narukoyosh
質問者

補足

すぐのご回答ありがとうございます。 僕にはとても難しい関数です(涙) 出来ましたらsheet1をいじらずsheet2での方法をお教えできませんか?

関連するQ&A

  • Excel関数

    Excel2003にて、添付のような表を作成しました。 各県ごとにA社~D社のりんごの値段を入力し、その県の最安値を MIN関数を使い表示しています。 その隣、会社名セルに最安値の会社名を表示したいのですが、 関数が分からず一県一県入力しております。 そこで、最安値の会社を返す関数等ございましたらご教示頂きたく、 何卒宜しくお願い致します。

  • Excel2007の関数について

         A       B       C 1    I        II       III 6  SUN(A2:A5) SUN(B2:B5) SUN(C2:C5) 7    III        I       II 8    C6      A6      B6 7の行にI~IIIのいずれかを入れた場合、8の行には7の行がI=A6、II=B6、III=C6と 返したいのですが、8の関数はどのようにすればよいのでしょうか? ご教示宜しくお願いいたします。

  • どんな関数を使えばいいでしょう(EXCEL)

    EXCEL2003で以下のような表を作っています。 A2~A13・・1月~12月の月を入れています B1~D1・・・店舗名(店舗A~C)を入れています データは店舗ごと(月毎)の売上が入っています。 E列にその月の最低売上をMIN関数で出しています。 F列にE列で出した最低売上の店舗名を出したいのですが、どのように出したらよいのかわかりません。 なるべく簡単な方法で出したいのですが、どうしたら良いでしょうか? 関数で出すと思うのですが、どんな関数を使えばよいでしょうか? よろしくお願いいたします。

  • 検索関数

    検索関数について 困り度: すぐに回答を! EXCEL関数について教えてください。 以下の様な表があります。 大グループ:A・B 中グループ:I・II・III・IV・V・VI(大グループの中に各6グループ) 小グループ:数値範囲が記載されている(実際は数百個) 判定結果:(1)~(6) レベル      A            B           判定   I II  III IV V VI   I II III IV V VI  (1)  10 11 12 13 14 15  13 14 15 16 17 18  (2)  11 12 13 14 15 16  14 15 16 17 18 19  (3)  12 13 14 15 16 17  15 16 17 18 19 20  (4)  13 14 15 16 17 18   16 17 18 19 20 21  (5)  14 15 16 17 18 19   17 18 19 20 21 22 検索した条件にあう数値(10~22)がレベル判定(1)~(6)(表の一番左にある数値)のどれにあたるか関数を使用して判定したい。 ※表中の各数値はそのレベル毎での最大値です、(1)の場合は0~(同行の値まで)が対象となります。 判定例) 例えばA/II/9 の判定は(1) また、A/IV/15.01 の判定は(4) 検索条件としては以下の3項目を入力します。   ・A or B   ・I~VI   ・任意の数値を入力します 自分で調べたのですが複雑すぎて分かりませんでした。 長々と解り辛い文章ですみませんがご教授願います。

  • Excelの条件式を教えてください

    Excel2000です。 業務用ソフトからCSV形式でExcelにデータを落として きました。20年近く前のものですが、必要あって 過去の売上データを集計したいのです。 日付別の各支店ごとの売上が集計されています。 A列に年月日(降順)、B列に支店名(10店舗)、 C列に各支店の売上日計です。 A列      B列     C列 2005 01 29 恵比寿支店  1,000,000 2005 01 29 新宿支店   2,000,000 上のようになっていて、支店が10店あるので、 A列の“2005 01 29”という日付は10行あります。 その“2005 01 29”の10店分の売上合計が 出ていないので、それを出したいのです。つまり、 10行目のつぎに自動で1行挿入して、C列に 10店合計売上を表示させたいのです。 DSUMという関数で考えたのですが、うまくいきません。 同一日付が10行あるその最後に1行挿入して、そこに 10店の日計の合計を出したいと考えます。 10数年分の膨大なExcelデータです。 どのような関数で、どのような式を組み立てたら よいのか、教えてください。 よろしくお願いします。

  • エクセルの関数でできますか?

    エクセルに北海道から沖縄まで、顧客の所在地一覧を管理してます。 Aの列に事業者名、Bに郵便番号Cに住所が入っています。 ですが、入力した人によって、住所が県から入力されてたり 市から入力されてたりバラバラなので、県名が入っていないところは 市の前に県名を挿入したいのですが、一括で県毎に挿入できるように 関数などで出来るのでしょうか? 過去の質問など調べましたが、分かるものが無かったのでご質問させて いただきました、詳しい方ご教授お願いいたします。

  • Excel関数について

    Excel関数について初心者なので教えてください。 購入した顧客表を作成しています。 日付   購入顧客名    売上 11/13    Aさん    1,000円 といったデーターが100件ほど入力されています。 その中で購入顧客数が何人か数えるための計算式をいれたいのですが そういった関数はありますか? 顧客名のデータ数を数える関数はわかるのですが、同じ人まで 数えられてしまいます。 同じ人は数えられない(だぶらない)関数を教えてください。

  • SUMIF関数について(若干長文です)

    なぜかSUMIF関数[SUMIF(範囲, 検索条件, 合計範囲)]を使うとき範囲や合計範囲を別ブックのセルにリンクすると、そのブックを開いていないと#VALUE!のエラー値を返してくるんです。 例えば次のような場合です。 book1のsheet1にA1:A4に4 種類のエアコンの価格\100,000、\150,000、\200,000、\300,000、B1:B4 にエアコンの価格に対応する取付手数料 \8,000、\9,000、\12,000、\15,000が入力されているとします。 別ブックbook2のA1にSUMIF関数を使って=SUMIF([book1.xls]Sheet1!A4:A7,">120000",[book1.xls]Sheet1!B4:B7)というように範囲をbook1のセルにリンクさせ、エアコンの価格が120000以上の取付手数料の合計を求めようとする場合です。 book1を同時に開いている場合は、ちゃんと36000の値を返してくるんですが、book1を閉じてbook2を更新すると#VALUE!のエラーになるんです^^;他の関数を使っていてこんな事はなかったんですが、この関数だけはなぜかこんなになるんです。 ちなみに私はEXCEL2000とEXCEL2003で試したんですがダメでした〇| ̄|_これを解決する方法はないんでしょうか? みなさんの知恵をお貸しください。よろしくお願い致します。

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

    エクセルのVLOOKUP関数について。 教えて頂きたいです。 sheet2に商品マスターがあり、タイトルとしてセルA1に品目コード、B1に品名、C1に会社名、D1に県名、E1に個数と入力してあります。 sheet2のA2には111、B2にはいちご、C2にランド、D2に埼玉県D3に山梨県、E2に100個、E3に200個、E4に300個 と入力してあります。 sheet1のA2に111と入力し、B2にいちご、C2にランド、D2に埼玉県、D3に山梨県、E2に100個、E3に200個、E4に300個と表示させることは可能でしょうか? 県名に対して2個、個数を3種類持っているのです。出来ればVLOOKUP関数でお願いしたいのですが、他の関数でも構いません。 自分で色々検索し、下の行のセルの値を返す等の記事を見たのですが、いまいち理解できずにいます>< 尚、sheet2の商品マスターは作り直せず、手をつけることも出来ません。(私には権限がない為) sheet2の商品マスターのデータは膨大(約1400行)である為。 222(品目コード)、ぶどう(品名)、遊園地(会社名)、東京(県名)、50個(個数)、 333(品目コード)、みかん(品名)、ドーム(会社名)、千葉(県名)、100個(個数)、200個(個数) と、ぶどうは個数が1種類 みかんは個数が2種類 など、ランダムに商品マスターが作成してあります。 説明が下手ですみません><

  • HLOOKUP関数とINDIRECT関数の組み合わせについて困っていま

    HLOOKUP関数とINDIRECT関数の組み合わせについて困っています。 「=HLOOKUP($A$3,[計画.xls]日付合計!$B$3:$AI$18,12,FALSE)」 上の数式だと正常に結果が得られます。 HLOOKUP関数の範囲を「計画」ファイルの「日別合計」シートのB3:AI18に 設定しています。 このHLOOKUP関数の範囲をINDIRECT関数を用いて設定したいと思っています。 ※原紙シートのF25のセルに「計画」とL25のセルに「日付合計」と入力されています。 そこで次のように入力しましたが、うまく表示されません。 「=HLOOKUP($A$3,"["&INDIRECT("原紙!F25")&".xls]"&原紙!L25&"!"&$B$3:$AI$18,12,FALSE)」 どこが誤っているか、教えていただけないでしょうか。

専門家に質問してみよう