• 締切済み

Excelの関数に関して、至急教えて下さい。

Excelの関数に関しての教えて下さい。 A列に入っている文章の単語が何回使用されているかが単語別にGからBA列に入っていて、全部で50行あります。 G-BA列をコピーしBB列から貼付け、各列ごとにランキングをつけました。その列の中の1位で、かつG-BA列で大きい数字だった物を上位10位を選び、その10位のA列の文章を表示させたいと思っています。 どなたかその際の式を教えてください。 分かりにくい文章ですみません。

みんなの回答

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

>添付画像ですと、G6、I2、J4、あとH列の場合1位が2つになるのでH2、H6をだし、A行に入っている文章を別シートに表示させたいです。 上位10個の意味が理解できていませんが、上記の条件で各列の最大値のデータを表示したいなら以下の式を入力して右方向にオートフィルしてください。 各列に1位が2つ以上ある場合はその数分(シートの動きが重くなるので必要以上にオートフィルしないこと)下方向にオートフィルしてください。 =INDEX($A:$A,SMALL(INDEX((BB$2:BB$51<>1)*100+ROW(BB$2:BB$51),),ROW(1:1)))&""

cosmic___7
質問者

お礼

説明不足で何度もお手数をお掛けして申し訳ありませんでした。 こちらの式で表示できました、ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

>A列のA51まで違う日本語の文章がはいってます。明日、確認、お知らせ、といった単語がG-BA列の1行目に、G2-BA2から51まで使用回数の数字が入ってます。 添付画像のようなレイアウトになっているのでしょうか? その場合、G2セルには以下のような数式が入力されているということですね。 =(LEN($A2)-LEN(SUBSTITUTE($A2,G$1,"")))/LEN(G$1) >G-BA列をコピーした物を貼付けBB2以降にRANK関数を使用しました。 BB以降の各列で1位を選び、その1位の中でもG-BA列内で使用回数が高い単語だけを選びたいです。 添付画像のG列で説明すると各列での1位の行(A6セル)は簡単に求めることができますが、その1位の中で使用回数が多い単語とは、単純に全体の中で最も大きい数字の行ということではないのでしょうか? 添付した画像で説明すると具体的にどのようなデータを抽出したいことになるのか補足説明してください。

cosmic___7
質問者

補足

そうです。全体の中で大きな数字、上位10個を選びそのA行をもとめたいです。 添付画像ですと、G6、I2、J4、あとH列の場合1位が2つになるのでH2、H6をだし、A行に入っている文章を別シートに表示させたいです。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

提示された文章だけでは、ご質問内容を理解することができません。 >A列に入っている文章の単語が何回使用されているかが単語別にGからBA列に入っていて、全部で50行あります。 まず、確認ですが、単語とは「英単語」のことなのでしょうか? また、A列には文章がA50セルまで入力されているのでしょうか? G列からBA列にはどのような単語がどのセルに入力されていて、どこに使用頻度の数字が入力されているのでしょうか? >G-BA列をコピーしBB列から貼付け、各列ごとにランキングをつけました。 どのセルにランキングを付けたのでしょうか(COUNTIF関数あるいはRANK関数を使用したのでしょうか?) >その列の中の1位で、かつG-BA列で大きい数字だった物を上位10位を選び、その10位のA列の文章を表示させたいと思っています。 その列の中で1位(最も多く出ている単語の行?)でかつG-BA列で上位10個選ぶとは具体的にどのようなことをしているのでしょうか? また、「その10位」とは10個のうちの10番目に多いデータという意味なのでしょうか? #このようなご質問では、ご希望の操作を文章だけで説明するのではなく、操作の目的や、実際にセルに入力されているデータや関数をセル位置を含めて例示するなどして、回答者に理解しやすいように補足説明されたほうが良いと思います。

cosmic___7
質問者

補足

目的はG-BA列の2行目から51行目に入っている単語回数の多いものを10個選び、選んだ10個のA列の文章を違うシートで表示させたいと思ってます。 A列のA51まで違う日本語の文章がはいってます。明日、確認、お知らせ、といった単語がG-BA列の1行目に、G2-BA2から51まで使用回数の数字が入ってます。 G-BA列をコピーした物を貼付けBB2以降にRANK関数を使用しました。 BB以降の各列で1位を選び、その1位の中でもG-BA列内で使用回数が高い単語だけを選びたいです。 もしくはG2:BA51にある数字から上位10個を選んでA列の文章を表示させたいです。 説明が上手く出来ずにすみません。

関連するQ&A

  • エクセル2000使用・関数式を教えてください

    A列1行目~G列300行目までの範囲と H列1行目~N列300行目までの範囲に 1~24までの数字が入っています。 数字の組合せは一定ではありません。 例えば 1行目のA列~G列には、1   2  3   4   5  10   20 (1セルに1つの数字) 1行目のH列~N列には、1   3   4  6   11   24 が入っていたとします。 この例では、A列~G列にあってH列~N列にないものは、2と 5と10と 20 A列~G列にはなくて、H列~N列あるものは、6 と 11 と 24 ですが、 それぞれを導く、関数式が知りたいです。 たとえば、 「A列~G列にあってH列~N列にないもの」として、O列以降に1~24の列があって、 該当する数字の列の該当する行のセルに1が立つ、ような、イメージです。 説明が悪く申し訳ございませんが、よろしくお願い致します。

  • エクセルの最適な関数について至急教えてください!

    あるファイル同士のデータをひとつのエクセル上に載せて突き合わせ、合致している数を数えたいのですが、その方法がわかりません。 あるファイル1のテキストデータは、1単語が一行ずつになっている為、エクセルに転写すると たとえばA1:A10のように一列に並べることができます。A群とします。 しかし、もういっぽうのエクセル上のファイル2は、たとえばD1:G6 のように、6行×4列のようにまたがっています。B群とします。 このデータを、ひとつのエクセルファイルに乗せて、1列のA群と、列×行といったB群の単語同士を突き合わせ、あるセルに何個合致したかその結果を算出させたいのですが、よい方法がわかりません。 この事例で構いませんので、最適なエクセル式を教えてください。 宜しくお願いします。

  • エクセルの関数

    A列に約500行に渡ってランダムに5桁の数字(10000~99999でこの間抜けている数字はある)があります。(重複する数字はありません。)  ここで、例えばB列にA列にある30000~39999までの該当する数字をB1、B2、B3・・・・と該当する数字だけ昇順に全部抽出したいのですが、この場合の式を教えて下さい。

  • エクセルの関数で

    また皆様のお知恵を拝借したく 先週に数値の大きい順番に項目を並べたいという質問をさせていただきましたが、そこに条件を付け足して、同じように求めたいのです。 シート1には A列     B列      C列 1801  りんご    500 1801  みかん    350 1801  なし     700      ・      ・ 1802  みかん    250 1802  ぶどう    600 ・ ・ 1812  かき     1000 B列、C列は以下に項目と数字が並んでいきます。 A列は年月が入ります。 月の入力は毎月20項目程度になります。 そしてシート2のD列1行目から5行目に1801における上位金額の5項目         E列1行目から5行目に1802における上位金額の5項目               ・               ・             O列1行目から5行目に1812における上位5項目 というように取り込みたいのです。 集計シートに関数を入れて自動的に上位項目を表示させるにはどのような関 数を使えばよろしいのでしょうか。 入力されていない場合は表示はしないような形で行いたいのです。 よろしくお願いします。

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

    エクセルのIF関数について質問をさせて頂きます。 現在、下記のような条件で抽出できる式を考えているのですが、 中々思うような式が思い浮かびません。 例えば、     A列  B列  C列  D列 1行目  111 2行目  222 3行目  333 4行目  444 5行目  555 6行目  666 7行目  777 8行目  888 9行目  999 上記のようなシートがあったとして、     A列  B列  C列  D列 1行目  111       999 2行目  222       333 3行目  333   ○   123   × 4行目  444 5行目  555 6行目  666 7行目  777 8行目  888 9行目  999   ○ 上記のように、例として C列の1行目に「999」と入力した場合、A列の9行目に「999」の数字があるので、その横のB列に「○」 C列の2行目に「333」と入力した場合、A列の3行目に「333」の数字があるので、その横のB列に「○」 C列の3行目に「123」と入力した場合、どこにも該当番号がないので、入力したC列の横、即ちD列の3行目に「×」を表示 要は、A列のどこかに該当数字があった場合にはその数字の横(B列)に「○」、どこにも該当数字が無い時には、入力した数字の横、D列に「×」を表示するような数式を考えています。 IF関数を使えばできるような気がするのですが、色々と試してみても中々うまくいきません。 下手な説明で分かり辛いかもしれませんが、どなたかご存知の方がいましたら、ご教授の程頂ければ幸いです。 どうぞ宜しくお願い致します。

  • 2つの数字の変化を読み取るエクセル関数はありますか

    エクセルの関数についてです。2つの数字の変化を A列  B列 100    1 103    1 109    1 120    1 105    -1 102    -1 120    1 123    -1 ・    ・ ・    ・ ・    ・ となっている時に,以下の2つの条件を満たす式を作ることはできますでしょうか。 (1)B列の数字を3行ずつ見てゆく。3行目までずっと1が続き,数字が変わらなければ(-1が出なければ)3行目のA列の数値(109)を取り出す (2)数字を取り出してから次の3行目までの間でB列の数字が変わったとき(1→-1,-1→1)には,変わった行のA列の数値(105)を取り出す。次は,B7なので120,次はB8なので123…と 数字を取り出す度にリセットして,新たに3行の中から新しい数字を取り出すようにしたいのです。 やはりマクロを組まないといけないのでしょうか? 分かりにくかったら申し訳ございません…

  • エクセル 関数

    1行AからGまでに数字があり、 2行AからGまでの数字の下一桁が1行目のAからGまでと同じ場合 3行目に2行目の数字を抽出する関数を教えてください。 例   A  B  C  G 1 15 18  21  33 2 25 19  30  31 3 25        31

  • エクセル関数の詳しい方ご教示ください。

    エクセルの詳しい方、ご教示ください。 A B C D E F G(表示したい列) 1行目 2 3 5 7 9 2 =知りたい関数 2行目  4 5 8 9 1 2 上記のようなランダムな数値データがあり、 ・Aの列に表示している数字の数だけ、 ・Bから右の列に移動した数字を、 ・Gの列に表示したい と、思っています。 例で考えると、 G1のセルは7 G2のセルは2 と表示されるイメージです。 Gにはどのような関数を使えばよいでしょうか?

  • エクセル関数式について教えてください。お願いします。

    エクセル関数式について教えてください。お願いします。    A B C D E F G H I J 1  5 7 1 4 3 9 8 6 2 10 2  6 7 4 9 3 5 1 2 10 8 3  7 0 1 2 0 -5 -4 1 1 -3 たとえば、このような表があります。 1の行にはランダムに数字が入ります。必ずD1に4が入るわけではありません、毎回変わります。 2の行にもランダムに数字が入りますが、1の行と同じだけ数字が入ります。でも毎回変わります。 そこで、1の行の数字が、2の行の数字を感知して、3の行にどれだけ上がって、どれだけ下がっているかを表したいのですが、関数式はありますでしょうか? 最高9、最低-9になります。1の行と2の行の数字が上下一緒なら0が入るようにしたいです。 教えてください、お願いいたします。

  • エクセルの検索する関数について

    エクセルで質問です。 sheet2のA、B列の中から、sheet1のA、B列で同じ組み合わせの数字を探す。同じ組み合わせで見つかれば、sheet1の見つかった列に、D列÷E列の数字をG列に表示する関数の式を教えてください。 関数は不慣れなので宜しくお願いします。

専門家に質問してみよう