• ベストアンサー

エクセルの関数について何を使えば良いか教えてください。

さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ 上記のようにランダムにならんでいるリストがあり、これをどの項目がいくつあると言う事がわかり、さらに順位をつけれる関数または、方法を教えていただきたいのですが? 近い方法でもいいです。例えば順位だけ出せるなど・・・ 宜しくお願いします。

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

  • ベストアンサー
noname#140971
noname#140971
回答No.2

[イミディエイト] ? CharsCount("さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ", "さんま") 2 ? CharsCount("さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ", "あじ") 2 ? CharsCount("さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ", "まぐろ") 2 ? CharsCount("さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ", "たい") 1 ? CharsCount("さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ", "ぶり") 1 ? CharsCount("さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ", "とろ") 1 ? CharsCount("さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ", "たまご") 1 と、先ずは、"さんま"や"たまご"の出現数を求める関数の作成が課題かと・・・。 ? 項目数整列順位("さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ", "たまご", "・") 1 ? 項目数整列順位("さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ", "さんま", "・") 5 で、"たまご"は昇順では1番目、"さんま"は5番目となります。 ? 項目数整列順位("さんま・あじ・まぐろ・さんま・たい・ぶり・あじ・とろ・たまご・まぐろ・イクラ・イクラ・イクラ", "イクラ", "・") 8 ちなみに"イクラ"は8番目となります。 Public Function CharsCount(ByVal Text As String, ByVal C As String) As Integer   CharsCount = (Len(Text) - Len(Replace(Text, C, ""))) / Len(C) End Function 項目数整列順位()   strTests="/"   strItems()にデータを代入   N に strItems()の配列インデックスの最大を代入   For I = 0 To N     strItem = strItems(I)     IF Instr(1, strTests, "/" & strItem & "/", 1)=0 Then <--- 未テストのみテスト       strTests=strTests & "/" <-------------------- テスト済みデータに加算   M =CharsCount(strLists, strItem) <------ 個数を求める       IF K < M Then         J = J + P + 1 <---- 新順番=既存の順番+既存の同数+1         P=0      <---- 既存の同数をゼロに         K=M      <---- 個数最大値を更新       ElseIF K=M Then         P = P + 1   <---- 同値であれば既存の同数をカウントアップ       Else         J = J + 1   <----- 小さいと順番をカウントアップ       End If     End If   Next I   項目数整列順位=J これにエラートラップを加えると完成かと思います。

mamizz
質問者

お礼

やってみます。 ご丁寧にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

あまり詳しくないのでニーズに合うかわかりませんが >どの項目がいくつあると言う事  これは  =COUNTIF($A$1:$A$100,"まぐろ") =COUNTIF($A$1:$A$100,"さんま") で個数の計算が出来ます。 >順位をつけれる関数(近い方法)  これは =RANK(C1,$C$1:$C$1000,0) =RANK(C2,$C$1:$C$1000,0) 条件としてA列A1から「さんま」なり「まぐろ」なりを入れてます B列に「countif」関数を入れてます。A$100は今後どれだけ入力が増えるかわからいためあらかじめ多めにいれてます。 C列に順位関数「RANK」を使用してます。これにより順位がつきますが mamizzさんの要望は自動で順位が変わりそうですねえ 自分はその方法がわかりませんがご参考までによろしくお願いします

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

    めっちゃ簡単な事なのかもしれませんがどうにも分からないのでどなたか教えて下さい。 全ての値の計はSUM関数で求められますが、ある条件にあった合計数を求めたいのです。 添付します表では、全ての値の合計は590です。 このうち「あじ」「まぐろ」「しゃけ」だけの合計を求めたいのです。 SUMIF関数を使用してみましたが条件が1個だけしか指定できず困ってます・・。 質問の意味お分かりいただけますかね・・・。 間単にいうと、『A列が あじorまぐろorしゃけの場合のB列の合計を求めたい』です。 よろしくお願いします!!!

  • エクセル 抽出した単語で、別セルに料金を返す方法

    いつもお世話になります。(エクセル初心者で申し訳ありません) 例えば、 「A1」のセルに 「データ」→「入力規則」→「リスト」で設定し、「さんま」「さけ」「あじ」などの単語を選べるようにしておきます。 その中で、「さんま」を選んだ場合、「B1」には、さんまの料金 「150円」(仮に)と表示させたい、 また、「さけ」を選んだ場合は「500円」、 さらには、「あじ」を選んだ場合は「300円」ということを実行する場合、 (「A1」に何も表示がない場合は空白を) 「B1」のセルには、 =IF(A1=”さんま”、150、IF(A1=”さけ”、500、IF(A1=”あじ”、300、””)))) で表示可能かと思いますが、 この選ぶ項目が2~3個なら、このままの方法で可能かと思いますが、十数個の項目になると、表示されなくなります。 他の方向なども含めて、何か、良い方法はありますでしょうか? よろしくお願い致します。

  • DHAが多く入っている魚を教えてください

    いわし、さば、あじ、まぐろ、さんまなどがわかっているのですがほかにも何かありますか?

  • エクセルの関数・マクロで質問です。

    たとえば マグロ サンマ サンマ タイ たまご たまご マグロ しめさば しめさば タイ こういった名詞が並ぶデータにあてると マグロ  2 サンマ  2 タイ    2 しめさば 2 たまご  2 というように、種類を表示して、その数を表示させるといった関数・マクロはありますでしょうか。 得意な方おりましたらご教授下さいませ。よろしくお願い致します。

  • エクセル 関数 複数条件

    お世話になります。 エクセル2013ver.を使用しております。 複数条件の関数(COUNTIF DCOUNTA)等について教えてください。 ■行いたい事■ 添付画像左側リストより、 (1)みかん&たまごを購入した人の買い物リストを抽出したい (2)みかん&たまごを購入した人数をカウントしたい 以上、2つの事を行いたいのですがうまくできません。 良い方法があればご教示お願い致します。 近しい事をされているのも見受けられましたが、 行き詰まってしまいました。

  • リストボックス 複数選択のデータ受け渡し

    教えてください。PHP初心者です。 リストボックスを下記のように設置し、そこから別ファイルにデータの受け渡しをしたいのですが、どうしても上手く行きません。 データを受け継いだのち、複数の項目(さんまetc)を分別させるようにしたいです。 ========form.html============ <FORM method="POST" action="./get_data.php"> <SELECT size="15" name="list" multiple> <OPTION value="1">さんま</OPTION> <OPTION value="2">あじ</OPTION> <OPTION value="3">いか</OPTION> <OPTION value="4">かつお</OPTION> </SELECT> <INPUT type="submit" value=" 送信する "> </FORM> =========================================== ===========get_data.php==================== $LIST = array($_POST['list']); この後が分かりません。一応 foreach($LIST as $renew_list){ print "$renew_list\n"; print "<BR>\n"; } =========================================== 上記でやると、複数選択で選んだもの(例えば、さんまとあじ)の場合、 あじだけが表示されて、さんまは消えてしまいます。 どなたか助けてください。

    • ベストアンサー
    • PHP
  • EXCELで関数を用いて細かく順位付けするには

    EXCELで順位表を作成しています。 2つの項目で点数をつけ、合計点で順位をつけていますが(RANK関数)、 同点になった場合はスポーツの成績表のように 順位が同じ人が何人も出てしまいます。(12位が3人いたら次は15位という意味です) 2つの項目を"学科"・"実技"だとして、合計点で一旦順位を出し 最終的には"学科"の成績を優先し細かく順位をつけたいと思っています。 その際全体の中からCOUNTIF関数で同点の人が複数いるケース(結果が1にならないケース)を検索しても、 その同点グループの範囲を表す事が出来ないので、その中で優越をつける事も出来ません。 一致した範囲を目で見ながら手入力してRANK関数で順位をつけることは出来ますが、 出来れば自動で出来ればなと思います。 説明がわかりにくいかとは思いますが、ご指導頂けると幸いです。よろしくお願い致します。

  • エクセル関数について

    スポーツの勝敗表を作成する際に順位を自動で出る様にしたいのですが、順位を決める要素が二つ以上有る為上手く行きません。お教え下さい。 順位を決める要素は、 1: 勝ち点 同じ勝ち点の場合は、 2: 得失点差 同じ得失点差の場合は、 3:当該直接対決の結果 上記3つが同じ場合は、 4:得点の多い 方となります。 上記の3番4番をも満たす関数は恐らく無いと思いますので,,,,, 上記1と2を満たす関数をお教え下さい。 (上記4つを満たす関数があれば尚、良いのですが・・・) 勝敗表は下記の通りです。 (勝 敗 ) / (得 失 点) / 勝点 / 順位     勝 分 負 得 失 差 Aチーム 1 0  1  / 1 3 -1 / 3 / 2位 Bチーム 1 0  1 / 2 2 0 / 0 / 3位 Cチーム 2 0  0 / 2 0 +2 / 3 / 1位

  • Excel 関数 検索

    EXcelの関数について教えてください。 出場者の名簿(受付NO.品名.氏名.住所.etcを受付順で作成しました。 受賞者の順位もそのシートに入力してあります。 受賞者の順位はランダムで入力されます。 別シートで受賞者の順位を1~入力して、それに対応した内容を出場者の名簿から表示したいと思います。 そのシートを受賞者の順位に並び替えてしまえばLOOCUP関数で処理できますが、並び替えないで、受賞者コードを1~入力して表示できないでしょうか?

  • エクセル関数について質問です。

    何回かヤフー知恵袋をつかっておりヤフーでも同じ質問をしたのですが、使い勝手が悪くこちらを利用していこうかと思っています。 という事で質問なのですが、 言葉で上手く表現できないので検索でも思うよう引っかからず 質問させていただきました。 画像の表がベースだとします。 作りたい内容はB列のどの大きさの商品が一番売れているかという順位表です。 例えば 25cmの売上合計は?という指定ではなく その関数を使えば直で 20cm ¥5500 25cm ¥5190 80cm ¥300 という感じに出てくる関数です。 大きさは小数点以下もあり大変な数になっていますので 1個1個指定したSUMIF関数では駄目だと思い、何かいい感じの関数があれば教えていただきたいです。 ちなみに品名はもう関係なくなっており同じサイズのものを 上記のようにまとめて表示させたい感じです。 なので、知りたいサイズの項目は3種類しかないので3種類を自動で表示。なおかつ合計金額も表示する。 同じ項目を、個別に項目を指定せずに列指定で纏めて合計金額を出すという感じが知りたいです。 順位は特に質問の対象ではありません。 ヤフー知恵袋で質問した時も伝わっていなかったようで 口説くなってしまいましたが、わかりにくかったら申し訳ございません。 よろしくお願いします。

PX-045A エラーが発生
このQ&Aのポイント
  • PX-045Aでエラーが発生しました。原因と解決方法について教えてください。
  • EPSON社製品のPX-045Aでエラーが発生しています。どのようなエラーが出ているのか詳細を教えてください。
  • EPSONのPX-045Aでエラーが発生しています。エラーコードや表示されるメッセージを教えてください。
回答を見る