以下のような生産予定表があるとします。
A B C D E F G F
1 日程 生産日 3/1 3/2 3/3 3/4 3/5 3/6
2〔兵器〕月合計
3 戦車 10 10
4 空母 5 5
5 爆弾 100 30 70
6機関銃 50 50
7潜水艦 4 2
8 軍艦 3 3
9 零戦 30 20 10
この生産表から兵器名の横に列を挿入して、横表記の生産日を縦に追加表記したく、IF関数にLOOKUP+MAXまたはMIN関数、OFFSET+MATCH関数で取得できたのですが、生産が2日にまたがっている爆弾と零戦は数量の大小関係なく、先に予定の入っている日を取得したいのですが、この条件の付け方、関数表記が分からず、2日間に渡る生産兵器の場合は若い日を表記させるにはどういう条件区別が必要でしょうか?
MAXやMIN、LARGE等の関数では先に取得したい日が、台数変動に伴い、後の日が取得されてしまいます。
A B C D E F G F
3/1 3/2 3/3 3/4 3/5 3/6
月合計
3 3/1戦車 10
4 3/2空母 5
5 3/3爆弾 100
63/4機関銃 50
73/4潜水艦 4
8 3/5軍艦 3
9 3/5零戦 30
※2日間の数量大小に影響されず、2日またがり生産兵器の初日を必ず取得する方法を教えていただけませんか?
No.2ベストアンサー
- 回答日時:
こんな感じでいかがでしょう。
=INDEX($C$1:$N$1,MATCH(TRUE,INDEX(C3:N3<>"",),0))
Excel2003で動作確認済。
C3:N3の各セルについて「空白でない」か否かの判定を行い、
TRUEが返る最初の要素の位置を取得して、C1:N1から対応するセルを返す。
内側のINDEXは、配列として処理させるためのダミー関数です。
=INDEX($C$1:$N$1,MATCH(TRUE,C3:N3<>"",0))
をCtrl+Shift+Enterで確定してもOK。
あるいは、判定でTRUEが返るセルについて、列番号の逆数をとり、
MAXで最初のセルを選んでから逆数を取り直せば、列番号が得られます。
=OFFSET($A$1,0,1/MAX(INDEX((C2:N2<>"")/COLUMN(C2:N2),))-1)
以上ご参考まで。
■日経PC21 / エクセル「配列数式」講座
http://pc.nikkeibp.co.jp/pc21/special/hr/index.s …
この回答への補足
補足の欄をお借りして、お礼申し上げます。回答者様のお答えで空白でないC3:F9までの配列の、各行の先頭の数値を取得できたのですが、どうも配列数式を普段、殆ど使わないもので、今一、理解に苦しんでいます。(INDEX関数の列番号、行番号のどちらから取得するのか?日付行のC1:F1にOFFSET関数と複合しましたが、エラーばかり出ます。)
配列数式を使わないのは、後からの数式変更、編集がやりにくいのでは?と私個人が思っているだけなんですが。
任意のセル領域、配列の中で、各行にある、1個または2個、複数の数値の内、空白以外の先頭の数値をMATCH関数で取得することです。
配列数式を使わない、セル参照方式で式を組めば、どうなるか今考えております。
有難うございました。
No.1
- 回答日時:
生産予定表の列数がこれ以上増えないという前提なら、
日付を取得したい列に
=IF(ISBLANK(E4),IF(ISBLANK(F4),IF(ISBLANK(G4),IF(ISBLANK(H4),IF(ISBLANK(I4),IF(ISBLANK(J4),"-",$J$2),$I$2),$H$2),$G$2),$F$2),$E$2)
という式を作成すれば取得できます。
ただ、列数がさらに増える場合はネストできるレベルに限界がある為、この方法では無理ですが・・・
回答有難うございました。参考にさせていただきます。
日が一ヶ月分あるので、この方法も考えましたが、無理みたいです。どちらか2日間の先の日を取得する(数量無関係に)方法を今も検討中です。
LOOKUP(MAX(C3:F3,C3:F3,$C$1:$F$1)
またはOFFSET($B$1,0,MATCH(MIN(C3:F3),C3:F3,0)でも出せたのですが初日取得するための条件区別を考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- 政治 日本はウクライナに1兆円ほど渡して、三船殉難事件の仇を取ってもらうべきですよね? 4 2022/08/14 07:46
- 軍事学 大日本帝国が米英等と講和に持ち込むには、どうすれば良かったでしょうか。 3 2022/09/17 20:41
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- 家賃・住宅ローン 住宅ローン控除の申請について教えてください 3 2023/02/25 09:07
- その他(Microsoft Office) エクセル 条件付き書式 日をまたぐ塗りつぶし 1 2023/01/13 18:00
- 政治 第二次大戦中の日本の九五式軽戦車(重量7トン)を大量生産して歩兵部隊に配備するべきではないですか? 2 2022/10/29 18:50
- Visual Basic(VBA) Sheet1の出荷日と品名が並んだ表からSheet2の品名別出荷日別の個数一覧表を作っています。 オ 3 2022/12/01 23:54
- 会計ソフト・業務用ソフト 固定資産管理で貸し出したマンションの登録操作について【弥生の青色申告】 2 2023/03/07 11:05
- 戦争・テロ・デモ 第二次大戦中の日本の九五式軽戦車(重量7トン)を大量生産して歩兵部隊に配備するべきではないですか? 5 2022/10/30 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報