SSブログ

OFFSET(定義,ROWS(定義)-ROW(座標),COLUMNS(定義)-COLUMN(座標))とは何(長さん)

今回は、webの下記のページにある、エクセル
シート内の領域の180度回転の方法についての
紹介で、それをする為の関数として記載されている、
=OFFSET(名前の定義,ROWS(名前の定義)-ROW(座標),
COLUMNS(名前の定義)-COLUMN(座標),)
とは、何者なのかについて調査結果を報告する。
web上のサイトは
エイチテイテイピーエス://
ja.extendoffice.com/documents/excel/4602-excel-
rotate-table-90-degree-180-degree.html
である。
 既にこれまで述べたように、本ブログでは、
制御文字列部を作成し
=T(Indirect(参照座標))
関数で、長方形領域の180°回転を行う方法を
紹介している。
結果を書くと制御文字列部が、前記webのサイト
の方法で、

不要になる訳では無い。

=T(OFFSET(名前の定義,ROWS(名前の定義)-
ROW(Indirect(参照座標)),
COLUMNS(名前の定義)-COLUMN(Indirect(参照座標),))
とすると、

制御文字列を、列の逆順、行の逆順に作らずに、
A1、B1、C1、・・・・
A2、B2、C2、・・・・
A3、B3、C3、・・・・
:  :  :  
:  :  :
と、小さい順に普通に文字群として作ると180°
反転するだけ

である。
 なお、「名前の定義」とは、例として13×
13升将棋では、A1:M13という、引数を、
上記式の中で本来はOFFSET、ROWS、COLUMNS関数
で使うのだが、A1:M13という文字を、
別の名前に言い換える事が出来るという機能が、
表計算ソフト一般には有るのである。操作法は、
エクセルでは、計算式を立てる部分にある
「名前の定義」タグで、A1:M13域をマウス
ドラッグした上で、必要項目に入力すると、
たとえば「Shogi」という文字に置き換える
事が出来ると言っているのである。逆に言えば、
上記で「名前の定義」の部分には、「Shogi」
では無くて「A1:M13」というパラメータを、
通常のエクセル関数で良く有るように、そのよう
に書いても同じ動作をする。
 わざわざ、=T(Indirect(参照座標))を、
=T(OFFSET(名前の定義,ROWS(名前の定義)-
ROW(Indirect(参照座標)),
COLUMNS(名前の定義)-COLUMN(Indirect(参照座標),))
に置き換えても、本ブログの管理人が調査した
結果、

制御文字列を、逆順で書かなくても良いという、
それだけの事

であった。Indirect(参照座標)関数を
使わないと、盤の駒セルを移動させると、
この場合は、移動前に駒の居た位置と点対称位置
のセルの参照座標がズレ、180°回転関数が
崩れてしまったのである。ただし制御文字部
をアルファベットが後ろで、行数の大きい文字
から順番に、セルに左から入れて行く場合に
比べて、自動で制御文字部が出来るように、

QBasicVer.1.1や、N88Basic
で、「ベーシックのプログラム」を書いて、
CSVファイルを作るやり方を取る場合、その
ベーシックのプログラムは、格段に簡単になる。

 なお、ADDRESS関数を使って、エクセル
シート内で、文字列セル群を作る場合は、手間は
五十歩百歩のようであった。
 また、升目数が馬鹿デカイ将棋用の制御文字部
の左上部を部分的に使えば良くなるので1回、
升目の極めて多数な将棋用の制御文字部を作って
おけば、下記のように一般の将棋用に全部兼用出
来る利点がある。
 なお下記の図を補足するが制御文字部と盤反転
関数演算結果表示部とは、下記のように、表示
領域全体を、上下入れ替える事が一般的に出来る。

改善熊澤良尊悪行入101.gif


改善熊澤良尊悪行入102.gif

 従来の=T(Indirect(参照座標))法では、それ
をしようとすると、はなはだしくシートで離れた、
右下隅の演算部をIndirect関数が参照す
る事になるので、デバッグがし難い欠点が有るの
だが。=T(Indirect(参照座標))を、
=T(OFFSET(名前の定義,ROWS(名前の定義)-
ROW(Indirect(参照座標)),
COLUMNS(名前の定義)-COLUMN(Indirect(参照座標),))
に変更したやり方を取るとそれが防げるのである。
 何か、エクセルのプロだけが知る、裏技が、
webに書かれているような印象が、調査前私に
は有ったが。調べてみると、前記のwebページ
の内容に関しては、制御文字列部をシート内に
作らなければならないという点で、いっしょなの
で、やり方を知って使っても、大差は無い。だか
ら、このwebページに

たいそうな内容は無い。

以上のように、今回結論された。(2023/07/30)

nice!(6)  コメント(0) 
共通テーマ:趣味・カルチャー

nice! 6

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。