windowsXP Excel2003です

sheet1に
  A   B   C    D   E
1    10代  20代  30代  40代 …70代以上
2 1位 みかん なし  りんご もも
3 2位 りんご もも  もも  みかん
4 3位 なし  りんご みかん りんご
5 4位 もも  みかん なし  なし

上記のように年代ごとに30位まで表示させたいと
思っています。

元になるsheet2は

   A   B   C  D   E        I
      10代 20代 30代 40代 …70代以上
1 みかん 150  50  80  180        みかん
2 りんご 100  70  170  100        りんご
3 なし   50  200  30  20        なし
4 もも   50  130  170 250        もも

以上のように年代別の列が10代から70代以上まであり、
A列の果物の種類は500行ほどあります。
(すべて違うものです)

=VLOOKUP(LARGE($B$9:$B$12,1),$B$9:$I$12,8,0)
を使ってそれぞれ、1位、2位、3位…の果物の名前を
表示させたのですが、上記の式だと、下記のように
表示されてしまいます。

   10代  20代  30代  40代 …70代以上
1位 みかん なし  りんご もも
2位 りんご もも  りんご みかん
3位 なし  りんご みかん りんご
4位 なし  みかん なし  なし

この10代の3位と4位、30代の1位と2位のように同じ順位になるもので、
2番目にくる果物を正しく表示させたいのですが、どのような数式を
使ったらいいのか教えてください。
果物種類は500ほどあり、順位が同じになるものは5種類くらいに
なることがあります。
10代から70代以上のこの表が3つあるので、関数でどうにかしたいと
思っています。

初めての質問なので分かりにくいところもあるかと思いますが、
よろしくお願いいたします。

「エクセルで同順位の値を表示する方法」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (2件)

[回答番号:No.1この回答への補足]へのコメント、



》 sheet2の式に組み込みたいと思う…

理解されていないようですね。Sheet2 には式は一切ありません。
Sheet3 の式を Sheet1 の式に組み込むのは不可能と思いますが、例え可能であっても初心者にはお勧めしません。
    • good
    • 0
この回答へのお礼

sheet1とsheet2を間違えてしまいました。
すみません。
色々と質問させていただいた後も、試行錯誤を重ねた結果、

=INDEX(Sheet2!$A$2:$A$9,INDEX(MATCH(LARGE(Sheet2!B$2:B$9-ROW(Sheet2!B$2:B$9)/100,1),Sheet2!B$2:B$9-ROW(Sheet2!B$2:B$9)/100,0),))

の式で解決いたしました。

ご回答、本当にありがとうございました。

お礼日時:2009/05/15 00:18

Sheet3 ← 作業シート


   A    B    C    D    E
1     10代   20代   30代   40代
2 みかん 150.002  50.002  80.002 180.002
3 りんご 100.003  70.003 170.003 100.003
4 なし   50.004 200.004  30.004  20.004
5 もも   50.005 130.005 170.005 250.005

Sheet3!B2: =Sheet2!B2+ROW()/1000


Sheet1
  A   B    C    D    E
1    10代  20代  30代  40代
2 1位 みかん なし  もも  もも
3 2位 りんご もも  りんご みかん
4 3位 もも  りんご みかん りんご
5 4位 なし  みかん なし  なし

Sheet1!B2: =INDEX(Sheet3!$A$2:$A$5,MATCH(LARGE(Sheet3!B$2:B$5,$A2),Sheet3!B$2:B$5,0))

なお、Sheet1 の範囲 A2:A5 は、“ユーザー定義”で #"位" に書式設定して、上から 1、2、…、4 と入力しています。

この回答への補足

ご回答ありがとうございます。
量的に作業シートを使いたくないので、sheet3に入れていただいた式を
sheet2の式に組み込みたいと思うのですが、それは不可能なことでしょうか?

補足日時:2009/05/14 22:54
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q台風の上陸及び被害の多い都道府県ランキング

台風の上陸回数または被害件数が多い都道府県の順位を知りたいのですが。
研究をしていて必要になったのですが、探しても見つからなくて・・・。
行政機関や省庁が発表しているような正確で信用のおけるデータが欲しいのですがどなたかご存知ありませんか?
回答お願いします。

Aベストアンサー

↓「上陸回数」は「上陸」した場合だけで、すれすれ上陸しないのに大きな被害を与えた台風は含まれていません。
また、「上陸都道府県」も途中「通過」して被害を与えた県は含まれません。

http://www.komazawa-u.ac.jp/~fumio/dat/ty-arekore.htm
http://www.city.kure.hiroshima.jp/~119/senta-top/taihuu/taihuuhigai1.htm

「被害件数」については、何をもってどこまでを台風被害とするかによります。
(自然災害が遠因であっても、自治体によっては土地の特性や状況・管理など他の要因が大きいと判断した場合、その後の増水・崖崩れ・宅地被害などは直接被害とはしないこともあります)
また、自然災害による被害件数は主に自治体や消防・警察・保険会社などへの連絡件数で集計されます。
被害範囲が個人所有物で当人が被害を申告しなかった場合は、よほどの大規模災害でない限り自治体や国がいちいち調査に来る事はまずありませんので記録には入りません。

一都一道二府四十三県の各県庁の中には「防災課」でこれら記録を公開しているところもあります。

↓「上陸回数」は「上陸」した場合だけで、すれすれ上陸しないのに大きな被害を与えた台風は含まれていません。
また、「上陸都道府県」も途中「通過」して被害を与えた県は含まれません。

http://www.komazawa-u.ac.jp/~fumio/dat/ty-arekore.htm
http://www.city.kure.hiroshima.jp/~119/senta-top/taihuu/taihuuhigai1.htm

「被害件数」については、何をもってどこまでを台風被害とするかによります。
(自然災害が遠因であっても、自治体によっては土地の特性や状況・管理など他の要因が大きいと判断し...続きを読む

QSUMPRODUCT($A$1:$A$10,$B$1:$B$10)とSUMPRODUCT($A$1:$A$10*$B$1:$B$10)

エクセルのSUMPRODUCT関数についてお尋ねします。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)
の違いは何でしょうか?
両者とも同じ答えを返しますが、いろいろ試したところ、前者は範囲内に文字列があってもそれを無視して計算し、後者は文字列があればエラーになるようですが、その理解で正しいでしょうか?
正しいとすれば、なぜでしょうか?

Aベストアンサー

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算するように出来ています。最初、SUM関数に対し、そのように作られました。プログラムとしては、初歩的なものですが、そのアイデアは、今日まで、踏襲しているようです。このオリジナルの仕組みを考えたのは、VisiCalc の開発者、ブルックリン氏です。昔々、本で読んだことがあります。 PRODUCT関数とも共通です。3つの関数は、同じような仕様を持っています。

こちらが、本来の使い方です。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

つまり、
$A$1:$A$10 と $B$1:$B$10 の値を別々に取得しています。

では、
=SUMPRODUCT($A$1:$A$10,$B$1:$B$11)

とすると、なぜ、エラーが出るかというと、$B$11 に対応する数値が、NULL値(有効な値がない)だからです。それは、全体に反映させてしまいます。(理由は分かると思いますが、プログラムが途中で、エラーで止まってしまうからです)

ところが、こちらは、

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)

$A$1:$A$10*$B$1:$B$10 は、分割出来ません。したがって、この数式の中でのエラーは、そのまま、元の数式に反映されます。

ご自分で、ユーザー定義関数を作ってみれば分かります。VBAでも、同じように作ることが可能です。一度、試してみるとよいです。

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算...続きを読む

Q7大都市の続きの順位は?

日本の7大都市として、札幌・仙台・東京・名古屋・大阪・広島・福岡がいわれていますが、
その続きの順位はあるのでしょうか?
人口や産業やいろいろな要素で判断されていると思うのですが、
47都道府県でのそういう判断があれば教えてください!

Aベストアンサー

>日本の7大都市

・・・7大都市『圏』という考え方ですよね?
例えば、東京都市圏には横浜・さいたま・千葉も含まれるし、大阪には京都・神戸・堺が、福岡にも北九州が入る、もしかすると広島にも岡山が込みで・・・そんなイメージです。
「7大都市」と言い切ってしまうと、東京・横浜・大阪・名古屋・札幌・神戸・京都・・・となってしまいますので。

そう考えると、8番目の都市圏は、日本海側で唯一の政令指定都市である『新潟』か、東京と名古屋の中間『静岡・浜松』か、はたまた南九州の『熊本・鹿児島』になるか・・・微妙なところですね。
何しろ、質問者様の挙げた7大都市圏が、それ以下を大きく引き離している印象がありますから。

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

Qのんびりしている県民性というと、どこの都道府県を連想しますか?

皆さんは、のんびりしている県民性というと、どこの都道府県を思い浮かべますか?
イメージだけで結構ですが、もし、そののんびり性の実例があるようでしたら、それもお聞かせ下さい。

又、複数回答でも構いませんが、その場合にはのんびり度に順位を付けていただけるとありがたいです。

宜しくお願いします。

Aベストアンサー

沖縄です。次点で九州。
普通のスーパーで店員さんが袋に詰めて、蝶々結びにしてくれてニコっと渡してくれたのには驚きました(しかもゆっくり)。
私の住む地域は袋が投げ込まれつつ、レジから追い出される感じなので…。

Q"$B$32:$H$32,$K$32:$N$32,$P$32:$AH$32" を変数に置き換えたい

こんにちは。よろしくお願いします。いつもgooの皆さんには大変お世話になっています。
エクセルは2013です。どなたか教えてください。

質問内容
Wクリックの範囲指定が現状はこのようになっています
If Not Intersect(Target, Range("$B$32:$H$32,$K$32:$N$32,$P$32:$AH$32")) Is Nothing Then

行を指定する32を
Dim shg as long
shg=32
とした場合、上記の範囲指定を & と変数 shg でつなげていくと、あまりにも長くなってしまいます
もっとスマートな書き方はないでしょうか

Aベストアンサー

If Not Intersect(Target, Rows(shg), Range("$B:$H, $K:$N, $P:$AH")) Is Nothing Then

Q順位付け

お願いします。順位付けのことで詰まっています。
1位から10位までの月順位を出しますが、同点の場合年間順位で順位を決定しています。
  
    年順位  月順位  修正順位
      2     1      1
      7     2      2 
     10     3      10
      9     3      9 
      8     3      8
      4     3      5       
      1     3      3     
      5     3      6
      3     3      4
      6     3      7

同点が8個もあり、自動的に年順位を参照して順位決定できる方法
がわかりません。RANK関数の応用ができません。
よろしくお願いします。



 

Aベストアンサー

 月順位の数値が存在している行には、必ず年順位も存在している場合にのみ有効な方法です。
 今仮に、
「年順位」と入力されているセルがA1セル、
「月順位」と入力されているセルがB1セル、
「修正順位」と入力されているセルがC1セル、
であるものとし、
A列とB列の2行目から11行目にかけて順位が入力されているものとします。

 その場合、C2セルの修正順位を求める数式の一例は、次の様になります。

=$B2+SUMPRODUCT(($A$2:$A$11<$A2)*($B$2:$B$11=$B2))

 この式を、エラー防止と、行数の変化に対応するように、拡張すると、次の様な数式となります。

=IF(COUNT($A2,$B2)=2,$B2+SUMPRODUCT(($A$1:INDEX($A:$A,MATCH(9^9,$B:$B))<$A2)*($B$1:INDEX($B:$B,MATCH(9^9,$B:$B))=$B2)),"")

 C3以下の修正順位に関しては、C2セルに上記の数式を入力してから、C2セルをコピーして、C3以下に貼り付けるだけで表示されます。

 月順位の数値が存在している行には、必ず年順位も存在している場合にのみ有効な方法です。
 今仮に、
「年順位」と入力されているセルがA1セル、
「月順位」と入力されているセルがB1セル、
「修正順位」と入力されているセルがC1セル、
であるものとし、
A列とB列の2行目から11行目にかけて順位が入力されているものとします。

 その場合、C2セルの修正順位を求める数式の一例は、次の様になります。

=$B2+SUMPRODUCT(($A$2:$A$11<$A2)*($B$2:$B$11=$B2))

 この式を、エラー防止と、行数の変...続きを読む

Qエクセル詳しい方!!お願いします! =IF(会計簿!$C$6=”13-ア”,”会計簿!$A$6”,I

エクセル詳しい方!!お願いします!

=IF(会計簿!$C$6=”13-ア”,”会計簿!$A$6”,IF(会計簿!$C$6=”13-イ”,”会計簿!$A$6”,IF(会計簿!$C$6=”13-ウ”,”会計簿!$A$6”,IF(会計簿!$C$6=”13-エ”,”会計簿!$A$6,””))))
の返しが会計簿!$A$6になるのを会計簿!$A$6に入力されている値にしたい!

Aベストアンサー

あらら・・・、今度は絶対参照にしていませんでした ><
=IF(OR(会計簿!$C$6="13-"&{"ア","イ","ウ","エ"}),会計簿!$A$6,"")

これが正解ですね _ノフ○)))グタリ

QExcelで都道府県を入力するとそのコードを表示させるようにするには?

Excelについて質問です。
例えばセルB1に都道府県を入力すると、A1に都道府県コード(1~47までの数字)を表示させたいと思っています。
別シートのA列に都道府県コード、B列に都道府県を作って47都道府県コードとその都道府県を作ってVLOOKUPで表示させようとしましたがうまくできませんでした。
次にif関数を使って「B1が北海道ならA1に1を表示」というように47都道府県をif関数を重複させて作っていきましたがif関数を8つぐらいまでしか重複させることができず失敗に終わりました。
何か良い方法はありますでしょうか?

Aベストアンサー

No.4です。頭の部分がありませんでした。以下の文を追加します。

B1都道府県を入力すると、A1に都道府県コードを表示させたいシート(以下「同じシート」と呼びます)の空いているセル・・・仮に"D1"セルとします・・・に"北海道01青森県02~鹿児島県46沖縄県47"の文字列を入れます。

この文字列の作り方は、次のようにすると簡単です。
別シートのA列に都道府県コード、B列に都道府県を作ってあるとのことなので、これを利用します。C列は未使用と仮定します。

先ず、都道府県コードが入っているA列の書式を"文字列"に変更して、A1に"01"を入れます。A1を選択状態にして、右下の「.」をダブルクリックすると、
セル"A1"~"A48"に"01"、"02"~"47"が入力されます。

次に、"C1"に「=B1&A1」、"C2"に「=C1&B2&A1」を入れ、・・・・・・と続きます。


それから、神奈川県、和歌山県、鹿児島県が4文字なので、このままではうまく表示できませんので次のように訂正します。

同じシートの都道府県コードを表示させたいセル"A1"に次の式を入れます。
=MID($D$1,FIND(B1,$D$1)+LEN(B1),2)

見苦しくなり、申し訳ありませんでした。

No.4です。頭の部分がありませんでした。以下の文を追加します。

B1都道府県を入力すると、A1に都道府県コードを表示させたいシート(以下「同じシート」と呼びます)の空いているセル・・・仮に"D1"セルとします・・・に"北海道01青森県02~鹿児島県46沖縄県47"の文字列を入れます。

この文字列の作り方は、次のようにすると簡単です。
別シートのA列に都道府県コード、B列に都道府県を作ってあるとのことなので、これを利用します。C列は未使用と仮定します。

先ず、都道府県コードが入っているA列の書...続きを読む

Qエクセルの重複チェックに関する質問です! Sheet1のf列に りんごを育てよう みかんを食べよう

エクセルの重複チェックに関する質問です!

Sheet1のf列に
りんごを育てよう
みかんを食べよう
なしをむこう
さくらんぼを売ろう
パイナップルを切ろう

Sheet2のg列に
りんごを食べよう
みかんをむこう
なしをむこう
ぶどうを植えよう
ようかんをきろう

という文字列が入っているとします。

このとき、sheet2のg列の値がsheet1f列にある文字を3文字以上含む場合、sheet2のa列に「●」と書き込むような関数もしくはマクロを入れたいのですが可能でしょうか?

お手数ですが、ご教示いただける方をお待ちしております!

Aベストアンサー

とりあえずこんな感じでいかがでしょうか?

Sub Sample()

Dim 元行 As Long
Dim 先行 As Long

Sheets("Sheet2").Select
For 元行 = 1 To Sheets("Sheet1").Cells(Rows.Count, 6).End(xlUp).Row
For 先行 = 1 To Cells(Rows.Count, 7).End(xlUp).Row
If Left(Cells(先行, 7).Value, 3) = Left(Sheets("Sheet1").Cells(元行, 6).Value, 3) Then
Cells(先行, 1).Value = "●"
End If
Next
Next

End Sub


人気Q&Aランキング

おすすめ情報