分类目录归档:科技

Workflows with Chrome

Chrome 书签

以下是一些常用的 Chrome 书签,使用步骤:

如何使用

  1. 手动创建书签

    1. 新建书签 新建书签
    2. 使用以下代码替换 URL 使用以下代码替换 URL
    3. 执行 执行
  2. 快速使用示例代码

    1. Chrome、Firefix 直接拖拽到书签栏即可
    2. Safari(我的浏览器版本是:17.0 (19616.1.27.111.16)
      1. 设置-高级-【勾选】显示网页开发者功能
      2. 设置-开发者-【勾选】允许在智能搜索栏中使用 JavaScript
      3. 拖拽 快速使用示例代码 到书签栏即可

TAPD 项目管理 计算花费工时

  1. 工作台 – 仪表盘 – 添加卡片 – 统计工时时长 – 选择项目 – 选择时间 – 生成卡片
  2. 查看全部
  3. 点击书签栏中的 TAPD 项目管理 计算花费工时 即可
javascript: (function () {
    var arr = [];
    var totalTime = 0;
    var trs = document.querySelectorAll('.g_table_autowidth tbody tr');
    var name = document.querySelector('h3.name span').innerText;

    for (let index = 0; index < trs.length; index++) {
        let tr = trs[index];
        let tds = tr.querySelectorAll('td');
        if (tds.length === 8) {
            tds[0].remove();
            tds[1].remove();
            tds[2].remove();
        } else if (tds.length === 6) {
            tds[0].remove();
        }
    }


    var trs = document.querySelectorAll('.g_table_autowidth tbody tr');

    for (let index2 = 0; index2 < trs.length; index2++) {
        let tr = trs[index2];
        let tds = tr.querySelectorAll('td');
        if (!arr.length && tds[0].innerText) {
            totalTime += Number(tds[1].innerText);
            arr.push({
                project: tds[0].innerText,
                countTime: Number(tds[1].innerText)
            });
        } else if(arr.length && tds[0].innerText) {
            var arrExistIndex = arr.findIndex((item) => item.project === tds[0].innerText);
            if (arrExistIndex !== -1) {
                totalTime += Number(tds[1].innerText);
                arr[arrExistIndex].countTime += Number(tds[1].innerText);
            } else {
                totalTime += Number(tds[1].innerText);
                arr.push({
                    project: tds[0].innerText,
                    countTime: Number(tds[1].innerText)
                });
            }
        }
    }
    var str = '';
    for (let index3 = 0; index3 < arr.length; index3++) {
        var {project, countTime} = arr[index3];
        
        var zanbi = (countTime/totalTime * 100).toFixed() / 100;
        str += `${project}\t${countTime}\t${ zanbi ? `${name}${(Math.round(zanbi * 10) / 10)}` : '' }\n`;
    }
    str += ` \t${totalTime}`;
    prompt("复制粘贴到 Excel 中", str);
})();

Yapi body 参数 转换为 JSDoc 注释

  1. 打开 Yapi 项目
  2. 选择接口
  3. 点击书签栏中的 Yapi body 参数 转换为 JSDoc 注释 即可
javascript: (function () {
    function contains(selector, text) {
        var elements = document.querySelectorAll(selector);
        return Array.prototype.filter.call(elements, function(element){
            return RegExp(text).test(element.textContent);
        });
        }
    function capitalizeFirstLetter(string) {
        return string.charAt(0).toUpperCase() + string.slice(1);
    }

    var trs1 = document.querySelector('.panel-view');

    var apiName = trs1.querySelector('.row .colName').innerText;

    var trs = contains('div', /^Body/)[0].querySelectorAll('.ant-table-tbody tr');

    console.log('trs', trs)

    var str = `/**\n * ${ apiName }\n`;

    for (let index = 0; index < trs.length; index++) {
        let tr = trs[index];
        let tds = tr.querySelectorAll("td");

        str += ` * @param {${ capitalizeFirstLetter(tds[1].innerText) }} data.${ tds[0].innerText } ${ tds[4].innerText }\n`;
    }

    str += ` * @url ${ window.location.href }\n * @returns Promise\n */`;

    var x = document.createElement("DIALOG");
    var t = document.createTextNode(str);

    x.appendChild(t);
    x.style = "white-space: pre;"
    
    document.body.appendChild(x);
    
    x.addEventListener('copy',function(e){
        setTimeout(() => {
            x.hidden = true;
            x.remove();
        }, 320);
    });
    
    x.showModal();
})();

批量删除 Snapmail.cc 单个邮箱内的邮件

www.snapmail.cc

  1. 打开 Snapmail.cc
  2. 选择邮箱
  3. 点击书签栏中的 批量删除 Snapmail.cc 单个邮箱内的邮件 即可
javascript: (function () {
    var lis = document.querySelectorAll('.email-container .sidebar-scrollable-content .email-list li[ng-repeat="item in filtered = (items | orderBy:\'time\':!reverse | filter: search) "]');

    for (let index = 0; index < lis.length; index++) {
        const emailId = lis[index].querySelector('a').getAttribute('href').split('#/email/')[1];

        fetch(`https://www.snapmail.cc/email/${emailId}`, {
        "headers": {
            "accept": "application/json, text/plain, */*",
            "accept-language": "zh-CN,zh-TW;q=0.9,zh;q=0.8,ja-JP;q=0.7,ja;q=0.6,en-US;q=0.5,en;q=0.4,ko-KR;q=0.3,ko;q=0.2",
            "cache-control": "no-cache",
            "pragma": "no-cache",
            "sec-ch-ua": "\"Chromium\";v=\"116\", \"Not)A;Brand\";v=\"24\", \"Google Chrome\";v=\"116\"",
            "sec-ch-ua-mobile": "?0",
            "sec-ch-ua-platform": "\"macOS\"",
            "sec-fetch-dest": "empty",
            "sec-fetch-mode": "cors",
            "sec-fetch-site": "same-origin"
        },
        "referrer": "https://www.snapmail.cc/",
        "referrerPolicy": "strict-origin-when-cross-origin",
        "body": null,
        "method": "DELETE",
        "mode": "cors",
        "credentials": "include"
        }).then(res => {
            return res.json()
        });
    }
})();

公众号文章信息

  1. 打开公众号文章
  2. 点击书签栏中的 公众号文章信息 即可
  3. 自动复制内容到剪切板
javascript: (function () {
    function getarticleInfo() {
        let obj = {};
    
        obj['title'] = msg_title || document.title;
        obj['content'] = msg_desc || "";
        obj['author'] = title || "";
        obj['createTime'] = document.querySelector('#publish_time').innerText || new Date().getTime();
        obj['image'] = msg_cdn_url || "";
        obj['blankUrl'] = location.href;
    
        return JSON.stringify(obj, null, 2);
    }
    
    setTimeout(() => {
        navigator.clipboard.writeText(`${getarticleInfo()},`);
    }, 320);
})();

结果内容:

{
  "title": "主播说联播丨大胆闯、大胆试、自主改!",
  "content": "",
  "author": "央视新闻",
  "createTime": "2023-09-26 22:47",
  "image": "https://mmbiz.qpic.cn/sz_mmbiz_jpg/oq1PymRl9D6Ok0VQvMrI5flK4zRNtnQCKkXwibaq19DHGTCKjaneibGV9Dw7IRzIFDp8ru3ekovHuCE3xSsDPDuQ/0?wx_fmt=jpeg",
  "blankUrl": "https://mp.weixin.qq.com/s/ppTuriLssKstpWL-yqe9HA"
},

公众号文章封面图

  1. 打开公众号文章
  2. 点击书签栏中的 公众号文章封面图 即可
  3. 自动打开两个窗口:1、正方形(1:1) 2、长方形(2.35:1
javascript: (function () {
    cdn_url_1_1 && window.open(cdn_url_1_1);
    msg_cdn_url && window.open(msg_cdn_url);
})();

快速使用示例代码: 拖拽 ta 到 书签栏 👉 <a class="js-drag" href="javascript: (function () {
cdn_url_1_1 && window.open(cdn_url_1_1);
msg_cdn_url && window.open(msg_cdn_url);
})();">公众号文章封面图</a>

统计美团外卖订单金额大于30元的订单

  1. 打开美团外卖订单详情
  2. https://h5.waimai.meituan.com/waimai/mindex/olist
  3. 点击书签栏中的 统计美团外卖订单金额大于30元的订单 即可
javascript: (function () {
    const lis = document.querySelectorAll('div[class^="orderList"] li')
    const 订单列表 = [];
    const 金额 = 30;
    for (let index = 0; index < lis.length; index++) {
        // console.log(lis[index].innerText)
        var li = lis[index];
        var 单个订单金额 = li.querySelector('.price_Ul_Wom').innerText.split('实付¥')[1] * 1;
        if (单个订单金额*1 >= 金额) {
            订单列表.push({
                日期: li.querySelector('*[class^="time"]').innerText.split('\n')[0],
                订单号: li.querySelector('div[class^="orderWrap"]').dataset.id.split('id')[1],
                商家: li.querySelector('*[class^="name"]').innerText,
                金额: li.querySelector('.price_Ul_Wom').innerText.split('实付¥')[1]
            })
        }
    }
    setTimeout(() => {
        navigator.clipboard.writeText(`${JSON.stringify(订单列表.reverse(), null, 2)}`);
    }, 320);
})();

结果内容:

[
  {
    "日期": "2023-01-01 00:00",
    "订单号": "8888888888888888888",
    "商家": "麦当劳&麦咖啡(北京西大望路店)",
    "金额": "30.0"
  }
]

统计美团外卖在某个商家下的订单

小商家,订单满100,1000,统一开发票,需要统计订单

  1. 打开美团外卖订单详情
  2. https://h5.waimai.meituan.com/waimai/mindex/olist
  3. 点击书签栏中的 统计美团外卖在某个商家下的订单 即可
javascript: (function () {
    var lis = document.querySelectorAll('div[class^="orderList"] li')
    const 订单列表 = []
    const 商家 = '门框卤煮(双井店)';
    for (let index = 0; index < lis.length; index++) {
        // console.log(lis[index].innerText)
        var li = lis[index]
        if (商家 === li.querySelector('*[class^="name"]').innerText) {
            订单列表.push({
                日期: li.querySelector('*[class^="time"]').innerText.split('\n')[0],
                订单号: li.querySelector('div[class^="orderWrap"]').dataset.id.split('id')[1],
                金额: li.querySelector('.price_Ul_Wom').innerText.split('实付¥')[1]
            })
        }
    }
    setTimeout(() => {
        navigator.clipboard.writeText(`${JSON.stringify(订单列表.reverse(), null, 2)}`);
    }, 320);
})();

当前页面以窗口形式打开

  1. 打开页面(浏览器非全屏模式下)
  2. 点击书签栏中的 当前页面以窗口形式打开
  3. 输入窗口宽度:默认 540
  4. 输入窗口高度:默认 800
javascript: (function () {
    var defaultWidth = 540, defaultHeight = 800;
    var openWindowWidth = window.prompt('窗口宽度(width)', defaultWidth);
    var openWindowHeight = window.prompt('窗口高度(height)', defaultHeight);
    var screenHeight = window.screen.height;
    var screenWidth = window.screen.width;
    var screenX = (screenHeight - openWindowHeight) / 2;
    var screenY = (screenWidth - openWindowWidth) / 2;
    var windowFeatures = 'height='+ openWindowHeight +', width=' + openWindowWidth + ', top=' + screenX + 'px, left=' + screenY + 'px, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no';
    
    window.open(window.location.href, 'newwindow', windowFeatures);
})();
  • toolbar:工具栏
  • menubar:菜单栏
  • scrollbars:滚动条
  • resizable:是否可以调整窗口大小
  • location:是否显示地址栏
  • status:是否显示状态栏

生成二维码

依赖 2.webclown.net

  1. 打开页面
  2. 点击书签栏中的 生成二维码
  3. 自动打开新窗口,显示二维码
javascript: (function () {
    var baseUrl = 'http://2.webclown.net/?';
    var url = baseUrl + 'url=' + encodeURIComponent(location.href);
    window.open(url);
})();

快速使用示例代码: 拖拽 ta 到 书签栏 👉 <a class="js-drag" href="javascript: (function () { var baseUrl = ‘http://2.webclown.net/?’; var url = baseUrl + ‘url=’ + encodeURIComponent(location.href); window.open(url); })();">生成二维码</a>

复制转载信息

  1. 点击书签栏中的 复制转载信息
  2. 自动复制内容到剪切板
javascript: (function () {
    navigator.clipboard.writeText('[' + document.title + '](' + window.location.href + ')');
})();

快速使用示例代码: 拖拽 ta 到 书签栏 👉 <a class="js-drag" href="javascript: (function () { navigator.clipboard.writeText(‘[‘ + document.title + ‘](‘ + window.location.href + ‘)’);})();">复制转载信息</a>

生成短网址

  1. 点击书签栏中的 生成短网址
  2. 自动复制内容到剪切板
javascript: !(function () {
    var myHeaders = new Headers();
    myHeaders.append("Content-Type", "application/json");
    
    var raw = JSON.stringify({
      longUrl: window.location.href,
    });
    
    var requestOptions = {
      method: "POST",
      headers: myHeaders,
      body: raw,
      redirect: "follow",
    };
    
    fetch("https://00s.top/api/shorten", requestOptions)
      .then((response) => response.json())
      .then((result) => {
        if (result.shortUrl) {
          const link = "https://00s.top/" + result.shortUrl;
          const dialog = document.createElement("dialog");
          dialog.innerHTML =
            "<div class='position: fixed;top: 1em;right: 1em;background: #fff;'><p style='text-align: center; padding: 1em; background: #1d91eb; color: #fff;'>短网址已生成:(自动复制)</p><p style='padding: 1em;'>" +
            link +
            "</p></div>";
          document.body.appendChild(dialog);
          dialog.showModal();
          navigator.clipboard.writeText('[' + document.title + '](' + link + ')');
          setTimeout(() => dialog.close(), 2000);
        }
      })
      .catch((error) => {
          const dialog = document.createElement("dialog");
          dialog.innerHTML =
            "<div class='position: fixed;top: 1em;right: 1em;background: #fff;'><p style='text-align: center; padding: 1em; background: #1d91eb; color: #fff;'>生成失败</p><p style='padding: 1em;'>当前站点禁止使用书签脚本,请访问:https://00s.top 生成。</p><form method='dialog'><button>关闭</button></form></div>";
          document.body.appendChild(dialog);
          dialog.showModal();
      });
})();

生成短网址:成功

生成短网址:失败

英文中的连字符和下划线

英文中的连字符(-)和下划线(_)

起因

下面两种命名方式,在编辑器双击 button_height 全部选中,编辑器双击 button-height 不能全部选中,编辑器为什么这样设计?

  1. button-height
  2. button_height

在 页面仔 群问了一下,得到了答案:

linxz:因为 – 是连字符

linxz:从英文单词的角度去考虑,这里算是两个单词

linxz:而双击选中一般是选择单词,中文是选择词

连字符(hyphen)

牛津词典

  • 将多个或更多的词组成复合词
    • hard-hearted(铁石心肠)
    • fork-lift truck(叉车)
    • mother-to-be(孕妇)
  • 将前缀和转悠名词组成复合词
    • pre-Raphaelite(前拉斐尔派)
    • pre-European(欧洲前史)
  • 书写21-99之间的复合数字时
    • seventy-three(73)
    • thirty-one(31)
  • 有时用在英式英语中用以将以元音结尾的前缀与以相同元音开始的词隔开
    • co-operate(合作)
    • pre-eminent(卓越的)
  • 转行时用于单词的前半部分之后

下划线(underscore)

牛津词典 中 这个不算标点符号,在这个单词 underscore 的释义下说明:下划线、底线,用于字母下划线或计算机命令和互联网网址中。

在计算机中,一般用于不允许出现空格的地方,比如:

  • 文件名
    • The_Dark_Knight_2008_1080p.mkv
  • 变量名
    • const MAX_LENGTH = 100;
  • 函数名
    • function get_user_info() {}
  • 等等

拓展

如何配置编辑器(Visual Studio Code),使得双击 button-height 全部选中?

  1. 打开 settings.json 文件
  2. 添加/编辑如下配置
    {
        ...
        // "editor.wordSeparators": "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?", // 默认配置,去掉 -
        "editor.wordSeparators": "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?",
        ...
    }
    
  3. 保存配置文件,即可

更多配置阅读查看:Visual Studio Code User and Workspace Settings

参考

  1. 如何使用英文连字符 – Wordvice Blog
  2. Underscore | Punctuation | Grammar | Glossary | Ultius
  3. Underscore – Wikipedia
  4. underscore, n. meanings, etymology and more | Oxford English Dictionary
  5. 牛津词典

获取统计相关免费数据源

Trading Economics

https://tradingeconomics.com/

世界银行

https://www.worldbank.org/en/home

Our World in Data

https://ourworldindata.org/

OECD

https://data.oecd.org/

IMF

https://www.imf.org/en/Data

中国统计局

http://www.stats.gov.cn/

TIPS

尽可能查找一手信息,一手信息的价值远远大于二手信息。

  • 一个国家数据
    • GDP
    • CPI
    • 就业率
    • ……
  • 一个公司
    • 公司年报
    • 创始人访谈
    • ……

在 macOS 上安装 Photoprism

目的

二次开发 或 贡献代码(Contribution)

准备

  • 系统:macOS Ventura 13.3.1 (22E261)(M1 Pro)
  • git
  • make
  • docker & docker-compose
  • nodejs

开始

参照官方文档:Setting Up Your Development Environment

1、克隆仓库

git clone git@github.com:photoprism/photoprism.git

cd photoprism

2、启动本地开发环境

make docker-build

docker compose up

# 或 后台进程
# docker compose up -d

3、安装依赖

make terminal

make dep

make build-js

make build-go

./photoprism start

完成

执行到这一步基本上就完成。

  • http://localhost:2342
  • https://localssl.dev

账号密码去 docker-compose.yml 文件里面环境变量(environment)处寻找。

  • 账号KEY: PHOTOPRISM_ADMIN_USER
  • 密码KEY: PHOTOPRISM_ADMIN_PASSWORD

遇见问题

问题一:docker compose up 无法正常安装 tensorflow lib 库

执行 docker compose up 时有一个步骤需要安装 tensorflow lib 库,我这边碰见一个问题是,

安装了一个不存在的版本:https://dl.photoprism.app/tensorflow/arm64/libtensorflow-arm64-auto-1.15.2.tar.gz,连接上多了一个 auto

正确版本应该是:https://dl.photoprism.app/tensorflow/arm64/libtensorflow-arm64-1.15.2.tar.gz

修改一下这个文件的68行: scripts/dist/install-tensorflow.sh:68,删除选中的代码即可。

临时删除(-${TF_DRIVER})

是否正确,需要去这个网站查看下是否有对应的源文件:https://dl.photoprism.app/tensorflow/arm64

问题二:make build-go 安装慢

make build-go 安装慢,可以设置代理(阿里云):

export GO111MODULE=on
export GOPROXY=https://mirrors.aliyun.com/goproxy/
make build-go

macOS 如何修复问文件夹权限 drwxr-xr-x+、drwxr-xr-x@ 删除+、@权限

@

规则:如果文件夹有@,则表示有ACL权限。

xattr -c <finder>

示例:

> ll
drwxr-xr-x@ 14 yantao  admin   448B  4 17 01:38 code
> xattr -c code
> ll
drwxr-xr-x  14 yantao  admin   448B  4 17 01:38 code

+

规则:如果文件夹有+,则表示有ACL权限或者有扩展属性。

chmod -N <finder>

示例:

> ll
drwxr-xr-x+   5 yantao  admin     170 Oct  5 03:43 Desktop
drwxr-xr-x+  17 yantao  admin     578 Sep 25 22:20 Documents
> chmod -N ~/Destop
> ll
drwxr-xr-x    5 yantao  admin     170 Oct  5 03:43 Desktop
drwxr-xr-x+  17 yantao  admin     578 Sep 25 22:20 Documents

一些资料

七牛云对象云存储

https://developer.qiniu.com/dora/3683/img-directions-for-use

图片处理 参数 简介
图片瘦身 imageslim 将存储在七牛的JPEG、PNG格式的图片实时压缩而尽可能不影响画质。
图片基本处理 imageView2 可对图片进行缩略操作,生成各种缩略图。imageView2 接口可支持处理的原图片格式有 psd、jpeg、png、gif、webp、tiff、bmp。
图片高级处理- 缩放 thumbnail 将图片缩放至指定大小。
图片高级处理- 裁剪 crop 普通裁剪、缩放裁剪
图片高级处理- 旋转 auto-orient
rotate 自适应旋转、普通旋转。
图片高级处理- 格式转换 format
colors 格式转换、GIF 颜色控制。
图片高级处理- 渐进显示 interlace 将图片调整为渐进显示。
图片高级处理- 背景色填充 background 对图片填充背景颜色
图片高级处理- 质量变换 q 对图片质量进行调节
图片高级处理- 高斯模糊 blur 对图片进行模糊处理
图片高级处理- 锐化 sharpen 对图片进行锐化处理
图片高级处理- 去除元信息 strip 可去除图片元信息,包括 exif 信息
图片高级压缩 format imageView2 和 imageMogr2 支持图片高级压缩功能,可以更加高效地将图片转化为 HEIF 高压缩比格式。
图片基本信息 imageInfo 可以获取图片格式、大小、色彩模型信息。
图片水印处理 watermark 提供四种水印接口:图片水印、文字水印,文字平铺水印、混合水印。
图片盲水印处理 watermark 为原图添加不可见水印,不影响原图质量。
图片EXIF信息 exif 获取数码相机照片的可交换图像文件格式。
图片圆角处理 roundPic 将图片生成圆角图片,并且可以指定图片的圆角大小。
图片主色调 imageAve 用于计算一幅图片的平均色调。
动图合成 animate 用于将数张图片合成 GIF。
图片全景拼接服务 stitch 可以帮助您将多张图像拼接起来,拼成一幅大的图像来创建全景图像。

Excel

根据索引(位置)截取字符串

MID(字符串, 开始位置, 提取长度)
函数:MID

=MID(字符串, 开始位置, 提取长度)

=MID("获得", 5, 4)
A B
1 身份证 出生年
2 110110201201158888 2012
3 110110201501158888 2015
4 110110201601158888 2016

选中 B2 单元格 输入函数

=MID(A2, 7, 4)

结果:2012

将多个文本串联起来

函数: CONCATENATE

=CONCATENATE(字符串1, [字符串2, …])

=CONCATENATE("您好", "再见")

可以结果 MID 函数综合使用一下

A B
1 身份证 出生年月日
2 110110201201158888 2012-09-03
3 110110201501158888 2015-01-15
4 110110201601158888 2016-01-15

选中 B2 单元格 输入函数

=CONCATENATE(MID(A2, 7, 4), "-", MID(A2, 11, 2), "-", MID(A2, 13, 2))

结果: 2012-09-03

根据日期返回星期

=CHOOSE(WEEKDAY(B3, 2), "一", "二", "三", "四", "五", "六", "日")
A B
1 2021-10-01
2 2021-10-02
3 2021-10-03
4 2021-10-04
6 2021-10-05
7 2021-10-06
8 2021-10-07

根据关键词设定设定进度

函数: IF

=IF(A1="待开发","0",IF(A1="静态开发中","0.15",IF(A1="静态完成","0.30",IF(A1="后管静态开发中","0.55",IF(A1="后管静态完成","0.70",IF(A1="动态联调中","0.85","1"))))))
IF(A1="待开发",
    "0",
    IF(A1="静态开发中",
        "0.15",
        IF(A1="静态完成",
            "0.30",
            IF(A1="后管静态开发中",
                "0.55",
                IF(A1="后管静态完成",
                    "0.70",
                    IF(A1="动态联调中",
                        "0.85",
                        "1"
                    )
                )
            )
        )
    )
)
A B
1 待开发 0
2 静态开发中 0.15
3 静态完成 0.30
4 后管静态开发中 0.55
4 后管静态完成 0.70
5 动态联调中 0.85
5 完成 1

将日期转化为星期

函数: TEXT

=TEXT(A1, "AAAA")
A B
1 2022/6/1 星期三
2 2022/6/18 星期六

常用示例

公式 说明
=TEXT(1234.567, "$#,##0.00") 货币带有 1 个千位分隔符和 2 个小数,如 $1,234.57。 请注意,Excel 将该值四舍五入到小数点后两位。
=TEXT(TODAY(),"MM/DD/YY") 目前日期采用 YY/MM/DD 格式,如 12/03/14
=TEXT(TODAY(), "DDDD") 一周中的当天,如周日
=TEXT(NOW(), "H:MM AM/PM") 当前时间,如下午 1:29
=TEXT(0.285, "0.0%") 百分比,如 28.5%
=TEXT(4.34 , "# ?/?") 分数,如 4 1/3
=TRIM(TEXT(0.34, "# ?/?")) 分数,如 1/3。 注意,这将使用 TRIM 函数删除带十进制值的前导空格。
=TEXT(12200000, "0.00E+00") 科学记数法,如 1.22E+07
=TEXT(1234567898, "[<=9999999]###-####;(###) ###-####") 特殊(电话号码),如 (123) 456-7898
=TEXT(1234, "0000000") 添加前导零 (0),如 0001234
=TEXT(123456, "##0° 00' 00''") 自定义 – 纬度/经度

注意: 虽然可使用 TEXT 函数更改格式,但这不是唯一的方法。 你可以通过按 CTRL+1 (或在 Mac 上按 MAC Command 按钮图标的图像+1)来更改不带公式的格式,然后在设置单元格 > 数字对话框中选择所需的格式。