人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

こんにちは。

エクセルへのセルへの値の自動入力の仕方が分からなくて困っています。

文章よりも、添付の画像を見て頂いた方が分かりやすいと思うのですが、
A2のセルへ、日付を自動で入力したいのですが、A2の行を右に検索して、
○が見つかったら、その○が見つかった列の一番上の行にある値をA2のセルに
自動で反映されるようにしたいのです。

A2の行には、○の他に、×が入力されている場合もあるので、”○だったら”
という判定が必要です。

始めは、目視で見ながら手入力しようと思っていたのですが、行数が数百ある上、
目視・手入力だと間違いが発生する可能性があるので、エクセルの関数などで
自動で入力したいです。

すみませんが、宜しくお願い致します。

1315219019
●拡大する

●質問者: inu
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど
●100ポイント

一例です

A2に以下の式を入力してA3以下にコピー

もしも、結果が40791といったような数値になってしまった場合はA列のセルの書式設定で日付型に変更してください

=IF(ISERROR(MATCH("○",B2:D2,0)),"NoMatch",INDIRECT(ADDRESS(1,MATCH("○",B2:D2,0)+1)))

ちなみに、上記からエラー処理(○がどこにも見当たらない場合にNoMatchと表示するようにしてあります)を除いた場合の式は下記になります

=INDIRECT(ADDRESS(1,MATCH("○",B2:D2,0)+1))
◎質問者からの返答

回答ありがとうございました。この方法も後学のために覚えておきます。


2 ● hysr
●100ポイント ベストアンサー

ベストではないかも知れないですが、昔使ったものを参考にしました。

A列のセルの書式を日付にした後、以下の式をA2のセルに入れると表示されます。※A3以降のセルには、A2の式をコピー&ペーストしてください(MATCHの中の行番号を対象行に合わせる必要がある為です)。

=OFFSET($A$1,0,MATCH("○",B2:H2,0))

簡単に説明しますと。

MATCH("○",B2:H2,0) は、B2?H2の範囲内で○に一致するセルへの相対参照値(何個移動すればよいか)が返ってきます。

OFFSETは指定したセルを基準(今回はA1のセル)に、0行下に移動し、(MATCHで返ってきた値)列右に移動したセルの値を表示するものです。

ややこしくて、すみません。

◎質問者からの返答

回答ありがとうございます。Excelは色んな事ができるのですね。勉強になりました。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ