- ベストアンサー
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の部分の最大値を表示するための適切な関数があれば教えていただけないでしょうか? 現在少々急いでいるため言葉足らずで申し訳ありませんが、よろしくお願いいたします.
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- okormazd
- ベストアンサー率50% (1224/2412)
{=MAX(MID(A1:A100,9,3)*1)} ではだめですか。 配列数式なので、数式を入力したら、Ctrl+Shift+Enterとしてください。 そうすれば、 数式の前後に{ }がつきます。
お礼
配列数式の存在は聞いたことがありましたが、この場面で使えるものだということは初めて知りました。 試してみたところ上手く表示されました!もっと応用が利きそうなので、自分でも色々と調べてみようと思います。ありがとうございました!
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 各セルのデータが「*」アスタリクスで区切られている訳ですよね? 関数ではないのですが、一例です。 A列データを変更したくない場合は A列すべてを範囲指定 → B1セルに貼り付け → 範囲指定されている状態で → メニュー → データ → 区切り位置 → 「カンマや・・・」が選択されている状態で → 「次へ」 → 「その他」にチェックを入れ、「*」を入力し「完了」 これでお示しのデータのCCCの部分がD列になるはずですので どこか表示したいセルに =MAX(D:D) としてみてはどうでしょうか? ※ CCCの部分に日付が入っている場合はシリアル値が表示されると思います。 他に良い方法があればごめんなさいね。m(_ _)m
補足
お早い回答ありがとうございます。 しかしながら、やはり私の説明が悪かったようで、少し勘違いをさせてしまったようですね。申し訳ないです。といったわけで捕捉させていただきます。 この『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
お礼
度々のご回答ありがとうございます! どうやら私も補足する前によく読んでいなかったようです。かなり勘違いした補足をしてしまって申し訳ありませんでした^^; 画像まで使っていただいて、非常にわかりやすい説明をありがとうございます。こういった方法があるとは知りませんでした。勉強になります。なんとか解決しそうです! こちらの方法と、okormazd様の方法の両方を自分なりに調べながら応用していこうと思います! 本当に助かりました。ありがとうございます!