アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル初心者です
____A______B_____C____D____E____F
1_______購入日__8/1__8/2__8/3__8/4・・・
2りんご_???___3____5____3____0
3すいか_???___2____0____3____2
4みかん_???___5____0____0____0
5ぶどう_???___0____0____3____3

このような表を作ったのですが、???の部分に最後に購入した
日付(リンゴなら8/3、バナナなら8/4、みかんなら8/1のように)を関数を使って入力したいのですが、どういう関数をどのように使えばできますでしょうか?
お願いします

A 回答 (3件)

質問では「りんご_8/3」のようにされたいとのことですが、これはエクセルではあまりよろしくない方法です。

日付は単独のセルにしましょう。

試しにA2セルに以下の式を貼り付けて下方向にコピーしてみてください。
 =INDEX($1:$1,MAX(INDEX((B2:F2>0)*COLUMN(B2:F2),)))
すると「8/3」の日付が取得できます。ただし日付形式で入力されていると「39663」のようなシリアル値になりますが、びっくりしないでくださいね。これを日付形式にするには普通はセルの書式を「日付形式」にしてやれば良いです。

どうしても質問文のように「りんご_8/3」にしたいなら、A2の式は
 ="りんご"&TEXT(INDEX($1:$1,MAX(INDEX((B2:F2>0)*COLUMN(B2:F2),))),"m/d")
になります。でもこれだと行毎に式中の「りんご」「すいか」の部分を変えないとならなくなります。だから日付の列は別にする方が良いのです。
    • good
    • 0
この回答へのお礼

zap35さん、早速ありがとうございました
とりあえずコピペで試してみました。
思い道理の形で日付をつけることができました。
ありがとうございます。

_の意味はセルの区切りの意味だったんですが、説明不足でわざわざ、リンゴ_日付の表示まで丁寧に書いてくださいましてすいません。

式の意味が全然分かっていませんがこれから自分で勉強していきたいと思います。ありがとうございました。

お礼日時:2008/09/03 21:22

質問者様、普通に読み取れば、アンダーバーは、枠線の区切りを表している事は伝っていますよ。



品名をつなげたい訳ではないですよね。^^
    • good
    • 0
この回答へのお礼

suekunさん、ありがとうございます
私の説明不足で補足までしていただきありがとうございます
アンダーバーはセルの区切りの意味です

お礼日時:2008/09/03 21:24

0が入力されてなければ、


=INDEX(C$1:G$1,1,MATCH(MAX(C2:G2)+1,C2:G2,1))
をB2セルに入力して下にコピーなのですが・・・

入力された0を消すことは出来ませんか?
    • good
    • 0
この回答へのお礼

suekunさん、早速ありがとうございます
商品数が多いので0を消すのに時間がかかってしまうので、
消さずにできる方法を探しています

お礼日時:2008/09/03 21:09

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