• ベストアンサー

Excelの関数に詳しい方、お願いします。

わかりづらい説明かもしれませんが、よろしくお願いします。 例として、 AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF ・ ・ ・ といった文字列がエクセルの先頭列A1~A100までずらりと並んでいるとします。 各アルファベットには任意の数字(日付など)が入るとして、この並んだ百件のデータからCCCの部分の最大値を表示するための適切な関数があれば教えていただけないでしょうか? 現在少々急いでいるため言葉足らずで申し訳ありませんが、よろしくお願いいたします.

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1です! 補足を3度読み直してみました。 私の頭での解釈ではNo.1の方法で良いように思われて仕方ありません。 ↓の画像で説明すると A列のようなデータがあり、A列の赤文字部分の最大値を求めたいという解釈での投稿でした。 それが前回の方法でした。 画像では「*」でデータ区切りの操作を行った後の表示になっています。 H1セルには =MAX(D:D) としています。 結局、この方法を文章で書いたのですが書き方もまずかったように思われます。 どうも失礼しました。 ※ 今回も違っていたらごめんなさいね。m(_ _)m

ONDORU21
質問者

お礼

度々のご回答ありがとうございます! どうやら私も補足する前によく読んでいなかったようです。かなり勘違いした補足をしてしまって申し訳ありませんでした^^; 画像まで使っていただいて、非常にわかりやすい説明をありがとうございます。こういった方法があるとは知りませんでした。勉強になります。なんとか解決しそうです! こちらの方法と、okormazd様の方法の両方を自分なりに調べながら応用していこうと思います! 本当に助かりました。ありがとうございます!

その他の回答 (2)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

{=MAX(MID(A1:A100,9,3)*1)} ではだめですか。 配列数式なので、数式を入力したら、Ctrl+Shift+Enterとしてください。 そうすれば、 数式の前後に{ }がつきます。

ONDORU21
質問者

お礼

配列数式の存在は聞いたことがありましたが、この場面で使えるものだということは初めて知りました。 試してみたところ上手く表示されました!もっと応用が利きそうなので、自分でも色々と調べてみようと思います。ありがとうございました!

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 各セルのデータが「*」アスタリクスで区切られている訳ですよね? 関数ではないのですが、一例です。 A列データを変更したくない場合は A列すべてを範囲指定 → B1セルに貼り付け → 範囲指定されている状態で → メニュー → データ → 区切り位置 → 「カンマや・・・」が選択されている状態で → 「次へ」 → 「その他」にチェックを入れ、「*」を入力し「完了」 これでお示しのデータのCCCの部分がD列になるはずですので どこか表示したいセルに =MAX(D:D) としてみてはどうでしょうか? ※ CCCの部分に日付が入っている場合はシリアル値が表示されると思います。 他に良い方法があればごめんなさいね。m(_ _)m

ONDORU21
質問者

補足

お早い回答ありがとうございます。 しかしながら、やはり私の説明が悪かったようで、少し勘違いをさせてしまったようですね。申し訳ないです。といったわけで捕捉させていただきます。 この『AAA*BBB*CCC*DDD*EEE』のデータは決してアスタリスクごとにセルで区切られているわけではなく、AからEまでが丸々ひとつのセルに入っているのです。AAAからEEEまでには適当な数値が入っていると仮定して、という感じでしょうか。やっぱり少しややこしいので、ちょっと表記を変えてみると、 ⇐===すべてA列====⇒ 111*111*111*111*111 222*222*222*222*222 333*333*333*333*333 444*444*444*444*444 555*555*555*555*555 と置き換えてみたほうがわかりやすいかもしれません。 この形式で、アスタリスクで区切られた3番目(mid関数(8,3))の値をA1~A100までのセルで比較し、そのなかの最大値を表示する関数を探していました。上の表記でいえば『555』と表示されるようにしたいといったわけです。 わざわざ回答してくださった中、変わらずわかりづらい補足で申し訳ありませんが、またお時間あればご回答よろしくお願いいたしますm(_ _)m

関連するQ&A